diff options
author | Alex Deucher <alex@cube.(none)> | 2008-02-23 18:29:00 -0500 |
---|---|---|
committer | Alex Deucher <alex@cube.(none)> | 2008-02-23 18:29:00 -0500 |
commit | 9dc4acad79196e9d5d94dd710773bfa83456d47f (patch) | |
tree | 62a26eac892bae92e393fdf1848cc92a2dfecfe5 /src/radeon_atombios.c | |
parent | ed0a93edf28155308e7ab9d8705581bb38455ea0 (diff) |
RS6xx: gpio entry for DDIA varies depending on the number of DFP ports
Diffstat (limited to 'src/radeon_atombios.c')
-rw-r--r-- | src/radeon_atombios.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c index fbe937d6..88c220b2 100644 --- a/src/radeon_atombios.c +++ b/src/radeon_atombios.c @@ -1759,11 +1759,15 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn) (i == ATOM_DEVICE_TV2_INDEX) || (i == ATOM_DEVICE_CV_INDEX)) info->BiosConnector[i].ddc_i2c.valid = FALSE; - else if ((i == ATOM_DEVICE_DFP3_INDEX) && info->IsIGP) - /* DDIA port uses gpio entry 3 */ - info->BiosConnector[i].ddc_i2c = - RADEONLookupGPIOLineForDDC(pScrn, 3); - else + else if ((i == ATOM_DEVICE_DFP3_INDEX) && info->IsIGP) { + /* DDIA port uses non-standard gpio entry */ + if (info->BiosConnector[ATOM_DEVICE_DFP2_INDEX].valid) + info->BiosConnector[i].ddc_i2c = + RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux + 2); + else + info->BiosConnector[i].ddc_i2c = + RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux + 1); + } else info->BiosConnector[i].ddc_i2c = RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux); |