diff options
-rw-r--r-- | src/radeon_bios.c | 25 | ||||
-rw-r--r-- | src/radeon_driver.c | 2 | ||||
-rw-r--r-- | src/radeon_output.c | 33 |
3 files changed, 5 insertions, 55 deletions
diff --git a/src/radeon_bios.c b/src/radeon_bios.c index f63eec7..25cd1a8 100644 --- a/src/radeon_bios.c +++ b/src/radeon_bios.c @@ -272,31 +272,6 @@ Bool RADEONGetConnectorInfoFromBIOS (ScrnInfoPtr pScrn) } if (info->IsMobility) { -#if 0 - /* For the cases where only one VGA connector is found, - we assume LVDS is not listed in the connector table, - add it in here as the first port. - */ - if ((connector_found < 3) && (info->BiosConnector[tmp1]->ConnectorType == CONNECTOR_CRT)) { - if (connector_found == 1) { - memcpy (&info->BiosConnector[1], &info->BiosConnector[0], - sizeof (info->BiosConnector)); - } - info->BiosConnector[0].DACType = DAC_TVDAC; - info->BiosConnector[0].TMDSType = TMDS_UNKNOWN; - info->BiosConnector[0].DDCType = DDC_NONE_DETECTED; - info->BiosConnector[0].ConnectorType = CONNECTOR_PROPRIETARY; - - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "LVDS port is not in connector table, added in.\n"); - if (connector_found == 0) connector_found = 1; - else connector_found = 3; - } - - /* some bioses seem to list the LVDS port as DVI hack around that here */ - if (info->BiosConnector[0].ConnectorType == CONNECTOR_DVI_D) { - info->BiosConnector[0].ConnectorType = CONNECTOR_PROPRIETARY; - } -#endif if ((tmp = RADEON_BIOS16(info->ROMHeaderStart + 0x42))) { if ((tmp0 = RADEON_BIOS16(tmp + 0x15))) { if ((tmp1 = RADEON_BIOS8(tmp0+2) & 0x07)) { diff --git a/src/radeon_driver.c b/src/radeon_driver.c index d561fa0..ba736ca 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1661,7 +1661,7 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn) case PCI_CHIP_RS482_5974: info->ChipFamily = CHIP_FAMILY_RS400; info->IsIGP = TRUE; - /*info->HasSingleDAC = TRUE;*/ /* ??? */ + info->HasSingleDAC = TRUE; /* ??? */ break; case PCI_CHIP_RV410_564A: diff --git a/src/radeon_output.c b/src/radeon_output.c index 3052c36..924c3e0 100644 --- a/src/radeon_output.c +++ b/src/radeon_output.c @@ -181,17 +181,6 @@ void RADEONConnectorFindMonitor(ScrnInfoPtr pScrn, xf86OutputPtr output) } } -static void RADEONSwapOutputs(ScrnInfoPtr pScrn) -{ - RADEONInfoPtr info = RADEONPTR(pScrn); - RADEONBIOSConnector tmp; - - tmp = info->BiosConnector[0]; - info->BiosConnector[0] = info->BiosConnector[1]; - info->BiosConnector[1] = tmp; - -} - static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr output) { RADEONInfoPtr info = RADEONPTR(pScrn); @@ -524,29 +513,14 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn) } } - /* always make TMDS_INT port first*/ - if (info->BiosConnector[1].TMDSType == TMDS_INT) { - RADEONSwapOutputs(pScrn); - } else if ((info->BiosConnector[0].TMDSType != TMDS_INT && - info->BiosConnector[1].TMDSType != TMDS_INT)) { - /* no TMDS_INT port, make primary DAC port first */ - /* On my Inspiron 8600 both internal and external ports are - marked DAC_PRIMARY in BIOS. So be extra careful - only - swap when the first port is not DAC_PRIMARY */ - if ((!(info->BiosConnector[0].ConnectorType == CONNECTOR_PROPRIETARY)) && (info->BiosConnector[1].DACType == DAC_PRIMARY) && - (info->BiosConnector[0].DACType != DAC_PRIMARY)) { - RADEONSwapOutputs(pScrn); - } - } - if (info->HasSingleDAC) { /* For RS300/RS350/RS400 chips, there is no primary DAC. Force VGA port to use TVDAC*/ if (info->BiosConnector[0].ConnectorType == CONNECTOR_CRT) { info->BiosConnector[0].DACType = DAC_TVDAC; - info->BiosConnector[1].DACType = DAC_PRIMARY; + info->BiosConnector[1].DACType = DAC_NONE; } else { info->BiosConnector[1].DACType = DAC_TVDAC; - info->BiosConnector[0].DACType = DAC_PRIMARY; + info->BiosConnector[0].DACType = DAC_NONE; } } else if (!pRADEONEnt->HasCRTC2) { info->BiosConnector[0].DACType = DAC_PRIMARY; @@ -563,7 +537,8 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn) &info->BiosConnector[1].DACType, &info->BiosConnector[1].TMDSType, &info->BiosConnector[1].ConnectorType) != 8) { - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid ConnectorTable option: %s\n", optstr); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Invalid ConnectorTable option: %s\n", optstr); + return FALSE; } } |