summaryrefslogtreecommitdiff
path: root/src/radeon_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_bios.c')
-rw-r--r--src/radeon_bios.c13
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,