xf86-video-ati: Branch 'atombios-support' - 2 commits

Alex Deucher agd5f at kemper.freedesktop.org
Tue Nov 20 15:01:37 PST 2007


 src/radeon_bios.c  |   36 +++++++++++++++++++++++++++---------
 src/radeon_probe.h |   15 ---------------
 2 files changed, 27 insertions(+), 24 deletions(-)

New commits:
commit 3e47683ffaa44a89cda9bcddf530643befb27efa
Author: Alex Deucher <alex at botch2.(none)>
Date:   Tue Nov 20 18:01:15 2007 -0500

    RADEON: fixup for bios tables with wrong connector types

diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index f7fb419..ac2495f 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -246,6 +246,17 @@ static Bool RADEONGetATOMConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
 		else
 		    info->BiosConnector[i].TMDSType = TMDS_UNKNOWN;
 
+		/* Always set the connector type to VGA for CRT1/CRT2. if they are
+		 * shared with a DVI port, we'll pick up the DVI connector below when we
+		 * merge the outputs
+		 */
+		if ((i == ATOM_DEVICE_CRT1_INDEX || i == ATOM_DEVICE_CRT2_INDEX) &&
+		    (info->BiosConnector[i].ConnectorType == CONNECTOR_DVI_I ||
+		     info->BiosConnector[i].ConnectorType == CONNECTOR_DVI_D ||
+		     info->BiosConnector[i].ConnectorType == CONNECTOR_DVI_A)) {
+		    info->BiosConnector[i].ConnectorType = CONNECTOR_VGA;
+		}
+
 	    } else {
 		info->BiosConnector[i].valid = FALSE;
 	    }
commit 7412952eb1d1e9857cdab8417f7305f676900827
Author: Alex Deucher <alex at botch2.(none)>
Date:   Tue Nov 20 18:00:12 2007 -0500

    RADEON: switch to using ATOM defines for bios device table

diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 5e33d98..f7fb419 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -214,7 +214,7 @@ static Bool RADEONGetATOMConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
 	for (i = 0; i < RADEON_MAX_BIOS_CONNECTOR; i++) {
 	    if (tmp & (1 << i)) {
 
-		if (i == DEVICE_CV) {
+		if (i == ATOM_DEVICE_CV_INDEX) {
 		    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Skipping Component Video\n");
 		    info->BiosConnector[i].valid = FALSE;
 		    continue;
@@ -228,17 +228,20 @@ static Bool RADEONGetATOMConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
 		tmp0 = RADEON_BIOS16(info->MasterDataStart + 24);
 		gpio = RADEON_BIOS16(tmp0 + 4 + 27 * id) * 4;
 		/* don't assign a gpio for tv */
-		if ((i == DEVICE_TV1) || (i == DEVICE_TV2) || (i == DEVICE_CV))
+		if ((i == ATOM_DEVICE_TV1_INDEX) ||
+		    (i == ATOM_DEVICE_TV2_INDEX) ||
+		    (i == ATOM_DEVICE_CV_INDEX))
 		    info->BiosConnector[i].ddc_line = 0;
 		else
 		    info->BiosConnector[i].ddc_line = gpio;
+
 		info->BiosConnector[i].output_id = id;
 
-		if (i == DEVICE_DFP1)
+		if (i == ATOM_DEVICE_DFP1_INDEX)
 		    info->BiosConnector[i].TMDSType = TMDS_INT;
-		else if (i == DEVICE_DFP2)
+		else if (i == ATOM_DEVICE_DFP2_INDEX)
 		    info->BiosConnector[i].TMDSType = TMDS_EXT;
-		else if (i == DEVICE_DFP3)
+		else if (i == ATOM_DEVICE_DFP3_INDEX)
 		    info->BiosConnector[i].TMDSType = TMDS_EXT;
 		else
 		    info->BiosConnector[i].TMDSType = TMDS_UNKNOWN;
@@ -258,12 +261,16 @@ static Bool RADEONGetATOMConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
 	    for (j = 0; j < RADEON_MAX_BIOS_CONNECTOR; j++) {
 		if (info->BiosConnector[j].valid && (i != j) ) {
 		    if (info->BiosConnector[i].output_id == info->BiosConnector[j].output_id) {
-			if (((i == DEVICE_DFP1) || (i == DEVICE_DFP2) || (i == DEVICE_DFP3)) &&
-			    ((j == DEVICE_CRT1) || (j == DEVICE_CRT2))) {
+			if (((i == ATOM_DEVICE_DFP1_INDEX) ||
+			     (i == ATOM_DEVICE_DFP2_INDEX) ||
+			     (i == ATOM_DEVICE_DFP3_INDEX)) &&
+			    ((j == ATOM_DEVICE_CRT1_INDEX) || (j == ATOM_DEVICE_CRT2_INDEX))) {
 			    info->BiosConnector[i].DACType = info->BiosConnector[j].DACType;
 			    info->BiosConnector[j].valid = FALSE;
-			} else if (((j == DEVICE_DFP1) || (j == DEVICE_DFP2) || (j == DEVICE_DFP3)) &&
-				   ((i == DEVICE_CRT1) || (i == DEVICE_CRT2))) {
+			} else if (((j == ATOM_DEVICE_DFP1_INDEX) ||
+			     (j == ATOM_DEVICE_DFP2_INDEX) ||
+			     (j == ATOM_DEVICE_DFP3_INDEX)) &&
+			    ((i == ATOM_DEVICE_CRT1_INDEX) || (i == ATOM_DEVICE_CRT2_INDEX))) {
 			    info->BiosConnector[j].DACType = info->BiosConnector[i].DACType;
 			    info->BiosConnector[i].valid = FALSE;
 			}
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index d19be93..bfc352f 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -67,21 +67,6 @@ typedef enum
     MT_DP      = 8
 } RADEONMonitorType;
 
-/* ATOM bios output devices table */
-typedef enum
-{
-    DEVICE_CRT1 = 0,
-    DEVICE_LCD1 = 1,
-    DEVICE_TV1 = 2,
-    DEVICE_DFP1 = 3,
-    DEVICE_CRT2 = 4,
-    DEVICE_LCD2 = 5,
-    DEVICE_TV2 = 6,
-    DEVICE_DFP2 = 7,
-    DEVICE_CV = 8,
-    DEVICE_DFP3 = 9
-} RADEONDeviceType;
-
 typedef enum
 {
     CONNECTOR_NONE,


More information about the xorg-commit mailing list