summaryrefslogtreecommitdiff
path: root/src/radeon_atombios.c
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2008-10-08 15:50:25 -0400
committerAdam Jackson <ajax@redhat.com>2008-10-08 15:56:40 -0400
commitd744dc013cf5ca3141c0fdf55e36d713fe9f53ba (patch)
treef7c066065293b2376c2ea70dc9009e98e0bfbe40 /src/radeon_atombios.c
parentdc795ba66a8c0eb2c3fdb86bd42dfc17e0aa3b6e (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.c30
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: