diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-06-04 09:57:22 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-06-04 10:01:19 -0400 |
commit | a00db22e52631ccbf5bbcbd8175802f9b3407521 (patch) | |
tree | 2aa9e01190efa184b132a3e22384c4145c390c55 | |
parent | 486684ba68bc54c54cf86a9e69d224a13bb0a00d (diff) |
atom: connector quirk
Some r6xx cards have a VGA and an HDMI port with
a shared ddc line listed as an HDMI port with both
analog and digital encoders.
Fixes bug 19943
-rw-r--r-- | src/radeon_atombios.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c index 10158a8d..3ab5fac5 100644 --- a/src/radeon_atombios.c +++ b/src/radeon_atombios.c @@ -1566,12 +1566,6 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index) } } - /* some 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].devices &= ~(ATOM_DEVICE_CRT_SUPPORT); - } - /* ASUS HD 3600 XT board lists the DVI port as HDMI */ if ((info->Chipset == PCI_CHIP_RV635_9598) && (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1043) && @@ -1580,6 +1574,18 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index) info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D; } + /* some BIOSes seem to report DAC on HDMI - usually this is a board with + * HDMI + VGA reporting as HDMI + */ + if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) || + (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) { + if (info->BiosConnector[index].devices & (ATOM_DEVICE_CRT_SUPPORT)) { + info->BiosConnector[index].devices &= ~(ATOM_DEVICE_DFP_SUPPORT); + info->BiosConnector[index].ConnectorType = CONNECTOR_VGA; + info->BiosConnector[index].connector_object = 0; + } else + info->BiosConnector[index].devices &= ~(ATOM_DEVICE_CRT_SUPPORT); + } } |