diff options
author | Luc Verhaegen <libv@skynet.be> | 2006-01-27 18:11:28 +0000 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2006-01-27 18:11:28 +0000 |
commit | a141b4906b9057827878c149bed308828b6f263e (patch) | |
tree | e1a5fe62af6be2ba5357b833f8dc5abfbf65da28 | |
parent | bc8836a56e6affcdf95f662352629d4a82b12c48 (diff) |
[devel-ViaVideoRamGetFromRamController_P4M800_exception] The P4M800 comes
with a VT7205, but it has a different setup entirely compared to KM400.
We need to handle this like the VT3118, VT3344 and VT3157 should one
day be handled.
-rw-r--r-- | src/via_driver.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/via_driver.c b/src/via_driver.c index 8e21090..6f3c57f 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -687,8 +687,17 @@ ViaVideoRamGetFromRamController(ScrnInfoPtr pScrn) VIAFUNC(pScrn->scrnIndex); switch (pVia->Chipset) { - case VT3122: case VT7205: + /* check host bridge pci device id as this might be P4M800. */ + if (pciReadWord(0x00000000, 0x02) != 0x3205) { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "%s: Still unable to probe" + " VideoRam Size directly on P4M800.\n"); + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "%s: Please contact libv@skynet.be ASAP.\n"); + break; + } + /* KM400 so fall through */ + case VT3122: /* poke hostbridge: 0x1106:0x3123; 0:0:0.0 */ tmp = pciReadByte(0x00000000, 0xE1); pScrn->videoRam = (1 << ((tmp & 0x70) >> 4)) * 1024; |