summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/radeon_bios.c25
-rw-r--r--src/radeon_driver.c2
-rw-r--r--src/radeon_output.c33
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;
}
}