diff options
author | Vladimir Dergachev <volodya@mindspring.com> | 2005-01-13 17:35:49 +0000 |
---|---|---|
committer | Vladimir Dergachev <volodya@mindspring.com> | 2005-01-13 17:35:49 +0000 |
commit | c6c30cfa354eb456638f10771a7cb02271696af2 (patch) | |
tree | 8cbfaed47a4e568a38f155d3c6dbbdda0a070179 /src/radeon_driver.c | |
parent | 414c035a965b9db15656058c0e9cfeb3acf0158f (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.c | 10 |
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); |