xf86-video-ati: Branch 'master'
Dave Airlie
airlied at kemper.freedesktop.org
Wed Dec 3 15:09:17 PST 2008
src/radeon_atombios.c | 90 ++++++++++++++++++++++++++------------------------
1 file changed, 47 insertions(+), 43 deletions(-)
New commits:
commit d29633708b5451f5541e88371d831ae03019a7f5
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 4 09:08:48 2008 +1000
radeon: apply atom quirks to object table
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index ddc1f39..5e811b5 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1517,6 +1517,51 @@ rhdAtomParseI2CRecord(ScrnInfoPtr pScrn, atomBiosHandlePtr handle,
return RADEONLookupGPIOLineForDDC(pScrn, Record->sucI2cId.bfI2C_LineMux);
}
+static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
+{
+ RADEONInfoPtr info = RADEONPTR (pScrn);
+
+ /* Asus M2A-VM HDMI board lists the DVI port as HDMI */
+ if ((info->Chipset == PCI_CHIP_RS690_791E) &&
+ (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1043) &&
+ (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x826d)) {
+ if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) &&
+ (info->BiosConnector[index].TMDSType == TMDS_LVTMA)) {
+ info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
+ }
+ }
+
+ /* Falcon NW laptop lists vga ddc line for LVDS */
+ if ((info->Chipset == PCI_CHIP_RV410_5653) &&
+ (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1462) &&
+ (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0291)) {
+ if (info->BiosConnector[index].ConnectorType == CONNECTOR_LVDS) {
+ info->BiosConnector[index].ddc_i2c.valid = FALSE;
+ }
+ }
+
+ /* Funky macbooks */
+ if ((info->Chipset == PCI_CHIP_RV530_71C5) &&
+ (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x106b) &&
+ (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0080)) {
+ if ((index == ATOM_DEVICE_CRT1_INDEX) ||
+ (index == ATOM_DEVICE_CRT2_INDEX) ||
+ (index == ATOM_DEVICE_DFP2_INDEX))
+ info->BiosConnector[index].valid = FALSE;
+
+ if (index == ATOM_DEVICE_DFP1_INDEX) {
+ info->BiosConnector[index].DACType = DAC_TVDAC;
+ info->BiosConnector[index].devices |= (1 << ATOM_DEVICE_CRT2_INDEX);
+ }
+ }
+
+ /* BIOSes seem to report DAC on HDMI - they hurt me with their lies */
+ if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) ||
+ (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) {
+ info->BiosConnector[index].DACType = DAC_NONE;
+ }
+}
+
Bool
RADEONGetATOMConnectorInfoFromBIOSObject (ScrnInfoPtr pScrn)
{
@@ -1678,6 +1723,8 @@ RADEONGetATOMConnectorInfoFromBIOSObject (ScrnInfoPtr pScrn)
Record = (ATOM_COMMON_RECORD_HEADER*)
((char *)Record + Record->ucRecordSize);
}
+
+ RADEONApplyATOMQuirks(pScrn, i);
}
for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) {
@@ -1863,50 +1910,7 @@ RADEONATOMGetTVTimings(ScrnInfoPtr pScrn, int index, SET_CRTC_TIMING_PARAMETERS_
return TRUE;
}
-static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
-{
- RADEONInfoPtr info = RADEONPTR (pScrn);
- /* Asus M2A-VM HDMI board lists the DVI port as HDMI */
- if ((info->Chipset == PCI_CHIP_RS690_791E) &&
- (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1043) &&
- (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x826d)) {
- if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) &&
- (info->BiosConnector[index].TMDSType == TMDS_LVTMA)) {
- info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
- }
- }
-
- /* Falcon NW laptop lists vga ddc line for LVDS */
- if ((info->Chipset == PCI_CHIP_RV410_5653) &&
- (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1462) &&
- (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0291)) {
- if (info->BiosConnector[index].ConnectorType == CONNECTOR_LVDS) {
- info->BiosConnector[index].ddc_i2c.valid = FALSE;
- }
- }
-
- /* Funky macbooks */
- if ((info->Chipset == PCI_CHIP_RV530_71C5) &&
- (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x106b) &&
- (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0080)) {
- if ((index == ATOM_DEVICE_CRT1_INDEX) ||
- (index == ATOM_DEVICE_CRT2_INDEX) ||
- (index == ATOM_DEVICE_DFP2_INDEX))
- info->BiosConnector[index].valid = FALSE;
-
- if (index == ATOM_DEVICE_DFP1_INDEX) {
- info->BiosConnector[index].DACType = DAC_TVDAC;
- info->BiosConnector[index].devices |= (1 << ATOM_DEVICE_CRT2_INDEX);
- }
- }
-
- /* BIOSes seem to report DAC on HDMI - they hurt me with their lies */
- if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) ||
- (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) {
- info->BiosConnector[index].DACType = DAC_NONE;
- }
-}
Bool
RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
More information about the xorg-commit
mailing list