summaryrefslogtreecommitdiff
path: root/src/radeon_driver.c
diff options
context:
space:
mode:
authorVladimir Dergachev <volodya@mindspring.com>2005-01-13 17:35:49 +0000
committerVladimir Dergachev <volodya@mindspring.com>2005-01-13 17:35:49 +0000
commitc6c30cfa354eb456638f10771a7cb02271696af2 (patch)
tree8cbfaed47a4e568a38f155d3c6dbbdda0a070179 /src/radeon_driver.c
parent414c035a965b9db15656058c0e9cfeb3acf0158f (diff)
Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c Some of the newer Radeons (R420 for example) have MM_TABLE's with size 0x33 (instead of 0x0c that we know). Furthermore, they lockup during access of I2C bus ! Add a check to validate MM_TABLE. Note: the check is not more stringent as other card manufacturers (like Asus or Tekram) might make cards with slightly different MM_TABLE.
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r--src/radeon_driver.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 760560c0..c2a12d8d 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -4284,6 +4284,16 @@ static Bool RADEONPreInitXv(ScrnInfoPtr pScrn)
info->MM_TABLE.input[2],
info->MM_TABLE.input[3],
info->MM_TABLE.input[4]);
+
+ /* Is it an MM_TABLE we know about ? */
+ if(info->MM_TABLE.table_size != 0xc){
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "This card has MM_TABLE we do not recognize.\n"
+ "\t\tIf your card is TV-in capable you will need to specify options RageTheatreCrystal, RageTheatreTunerPort, \n"
+ "\t\tRageTheatreSVideoPort and TunerType in /etc/X11/xorg.conf.\n"
+ );
+ info->MM_TABLE_valid = FALSE;
+ return TRUE;
+ }
info->MM_TABLE_valid = TRUE;
} else {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No MM_TABLE found - assuming card is not TV-in capable (mm_table=%d).\n", mm_table);