diff options
author | Adam Jackson <ajax@redhat.com> | 2008-10-08 15:50:25 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2008-10-08 15:56:40 -0400 |
commit | d744dc013cf5ca3141c0fdf55e36d713fe9f53ba (patch) | |
tree | f7c066065293b2376c2ea70dc9009e98e0bfbe40 /src/radeon_atombios.c | |
parent | dc795ba66a8c0eb2c3fdb86bd42dfc17e0aa3b6e (diff) |
Fix connector table mapping for lvtma/kaleidoscope/uniphy.
Fixes DPMS on LVDS.
Diffstat (limited to 'src/radeon_atombios.c')
-rw-r--r-- | src/radeon_atombios.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c index 13eb1fc8..851014bd 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: |