[haiku-commits] haiku: hrev43867 - src/add-ons/accelerants/radeon_hd

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 17 Mar 2012 04:00:20 +0100 (CET)

hrev43867 adds 2 changesets to branch 'master'
old head: e58807ed85d518c3ccf9e0a7ec77b55a3d3e2701
new head: 00cc4e4ff4d3a1724a05768deec0706bfa0f4c9c

----------------------------------------------------------------------------

4eabb64: radeon_hd: DisplayPort encoder fixes.
  
  * Handle external encoder case properly when
    pulling encoder mode.
  * Return DisplayPort encoder if DisplayPort
    connector.
  * Handle DVO properly when pulling encoder mode

00cc4e4: radeon_hd: Fix nutmeg check to external encoder

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 17 insertions(+), 2 deletions(-)
src/add-ons/accelerants/radeon_hd/display.cpp     |   17 ++++++++++++++++-
src/add-ons/accelerants/radeon_hd/displayport.cpp |    2 +-

############################################################################

Commit:      4eabb6487d142caf3d8a9e8e8cfbfa7f7e2aee6d
URL:         http://cgit.haiku-os.org/haiku/commit/?id=4eabb64
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Mar 17 02:38:22 2012 UTC

radeon_hd: DisplayPort encoder fixes.

* Handle external encoder case properly when
  pulling encoder mode.
* Return DisplayPort encoder if DisplayPort
  connector.
* Handle DVO properly when pulling encoder mode

----------------------------------------------------------------------------

diff --git a/src/add-ons/accelerants/radeon_hd/display.cpp 
b/src/add-ons/accelerants/radeon_hd/display.cpp
index a3d14b2..5cb1bd4 100644
--- a/src/add-ons/accelerants/radeon_hd/display.cpp
+++ b/src/add-ons/accelerants/radeon_hd/display.cpp
@@ -374,6 +374,21 @@ debug_displays()
 uint32
 display_get_encoder_mode(uint32 connectorIndex)
 {
+       // Is external DisplayPort Bridge?
+       if (gConnector[connectorIndex]->encoderExternal.valid == true
+               && gConnector[connectorIndex]->encoderExternal.isDPBridge == 
true) {
+               return ATOM_ENCODER_MODE_DP;
+       }
+
+       // DVO Encoders (should be bridges)
+       switch (gConnector[connectorIndex]->encoder.objectID) {
+               case ENCODER_OBJECT_ID_INTERNAL_DVO1:
+               case ENCODER_OBJECT_ID_INTERNAL_DDI:
+               case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1:
+                       return ATOM_ENCODER_MODE_DVO;
+       }
+
+       // Normal encoder situations
        switch (gConnector[connectorIndex]->type) {
                case VIDEO_CONNECTOR_DVII:
                case VIDEO_CONNECTOR_HDMIB: /* HDMI-B is DL-DVI; analog works 
fine */
@@ -401,7 +416,7 @@ display_get_encoder_mode(uint32 connectorIndex)
                        // }
                        // TODO: if audio detected on edid and DCE4, 
ATOM_ENCODER_MODE_DVI
                        //        if audio detected on edid not DCE4, 
ATOM_ENCODER_MODE_HDMI
-                       return ATOM_ENCODER_MODE_DVI;
+                       return ATOM_ENCODER_MODE_DP;
                case VIDEO_CONNECTOR_EDP:
                        return ATOM_ENCODER_MODE_DP;
                case VIDEO_CONNECTOR_DVIA:

############################################################################

Revision:    hrev43867
Commit:      00cc4e4ff4d3a1724a05768deec0706bfa0f4c9c
URL:         http://cgit.haiku-os.org/haiku/commit/?id=00cc4e4
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Mar 17 02:59:08 2012 UTC

radeon_hd: Fix nutmeg check to external encoder

----------------------------------------------------------------------------

diff --git a/src/add-ons/accelerants/radeon_hd/displayport.cpp 
b/src/add-ons/accelerants/radeon_hd/displayport.cpp
index 19bd914..be7d92a 100644
--- a/src/add-ons/accelerants/radeon_hd/displayport.cpp
+++ b/src/add-ons/accelerants/radeon_hd/displayport.cpp
@@ -323,7 +323,7 @@ dp_aux_set_i2c_byte(uint32 hwPin, uint16 address, uint8* 
data, bool end)
 uint32
 dp_get_link_clock(uint32 connectorIndex)
 {
-       uint16 encoderID = gConnector[connectorIndex]->encoder.objectID;
+       uint16 encoderID = gConnector[connectorIndex]->encoderExternal.objectID;
 
        if (encoderID == ENCODER_OBJECT_ID_NUTMEG)
                return 270000;


Other related posts:

  • » [haiku-commits] haiku: hrev43867 - src/add-ons/accelerants/radeon_hd - kallisti5