diff options
Diffstat (limited to 'src/radeon_bios.c')
-rw-r--r-- | src/radeon_bios.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/radeon_bios.c b/src/radeon_bios.c index aec55b7..1ea0550 100644 --- a/src/radeon_bios.c +++ b/src/radeon_bios.c @@ -30,6 +30,8 @@ #include "config.h" #endif +#include <string.h> + #include "xf86.h" #include "xf86_OSproc.h" @@ -554,6 +556,17 @@ Bool RADEONGetTMDSInfoFromBIOS (ScrnInfoPtr pScrn) info->tmds_pll[i].freq = RADEON_BIOS16(tmp+i*10+0x10); } return TRUE; + } else if (RADEON_BIOS8(tmp) == 4) { + int stride = 0; + n = RADEON_BIOS8(tmp + 5) + 1; + if (n > 4) n = 4; + for (i=0; i<n; i++) { + info->tmds_pll[i].value = RADEON_BIOS32(tmp+stride+0x08); + info->tmds_pll[i].freq = RADEON_BIOS16(tmp+stride+0x10); + if (i == 0) stride += 10; + else stride += 6; + } + return TRUE; } /* revision 4 has some problem as it appears in RV280, |