commit d744dc013cf5ca3141c0fdf55e36d713fe9f53ba Author: Adam Jackson Date: Wed Oct 8 15:50:25 2008 -0400 Fix connector table mapping for lvtma/kaleidoscope/uniphy. Fixes DPMS on LVDS. diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c index 13eb1fc..851014b 100644 --- a/src/radeon_atombios.c +++ b/src/radeon_atombios.c @@ -1594,15 +1594,23 @@ RADEONGetATOMConnectorInfoFromBIOSObject (ScrnInfoPtr pScrn) break; case ENCODER_OBJECT_ID_INTERNAL_TMDS1: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: - info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP1_INDEX); - info->BiosConnector[i].TMDSType = TMDS_INT; + if (info->BiosConnector[i].ConnectorType == CONNECTOR_LVDS) + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_LCD1_INDEX); + else { + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP1_INDEX); + info->BiosConnector[i].TMDSType = TMDS_INT; + } break; case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: - if (num == 1) - info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP1_INDEX); - else - info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP2_INDEX); - info->BiosConnector[i].TMDSType = TMDS_UNIPHY; + if (info->BiosConnector[i].ConnectorType == CONNECTOR_LVDS) + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_LCD1_INDEX); + else { + if (num == 1) + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP1_INDEX); + else + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP2_INDEX); + info->BiosConnector[i].TMDSType = TMDS_UNIPHY; + } break; case ENCODER_OBJECT_ID_INTERNAL_TMDS2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1: @@ -1611,8 +1619,12 @@ RADEONGetATOMConnectorInfoFromBIOSObject (ScrnInfoPtr pScrn) break; case ENCODER_OBJECT_ID_INTERNAL_LVTM1: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP3_INDEX); - info->BiosConnector[i].TMDSType = TMDS_LVTMA; + if (info->BiosConnector[i].ConnectorType == CONNECTOR_LVDS) + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_LCD1_INDEX); + else { + info->BiosConnector[i].devices |= (1 << ATOM_DEVICE_DFP3_INDEX); + info->BiosConnector[i].TMDSType = TMDS_LVTMA; + } break; case ENCODER_OBJECT_ID_INTERNAL_DAC1: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: