commit d744dc013cf5ca3141c0fdf55e36d713fe9f53ba
Author: Adam Jackson <ajax@redhat.com>
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: