summaryrefslogtreecommitdiff
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
commit4a0193eb5f244a43b9bd67df9d0c24e7c591526f (patch)
tree8cbfaed47a4e568a38f155d3c6dbbdda0a070179
parentd29af5e8b355ebf05f964849e0d873402943e73e (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.
-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 760560c..c2a12d8 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);