summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-10-14 11:33:33 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-11-11 12:22:13 -0800
commitfc66fbbb37da86f02bc3beff30bf0630a03a9e10 (patch)
tree55b42c7b47d82ab315bd13ffe9c0f6298f59d358
parent4223fa64132fa387deb6a5685ff63b2cab97977d (diff)
Fix broken stolen memory counting on G4X.
On the GM45 we were assuming too little stolen memory (mostly harmless, except when it wasn't, until the AGP fix), and on the G45 we were assuming too much stolen memory, which was quite harmful when we touched the page that didn't get mapped. Future stolen memory accounting should use src/reg_dumper/intel_gtt before and after enabling AGP on the chipset to confirm that only the GTT entries not mapped to stolen are replaced, and that all of the unmapped GTT entries are replaced with the constant scratch page.
-rw-r--r--src/i830_driver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 209aa07d..0a747c1d 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -518,8 +518,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
range = gtt_size + 4;
/* new 4 series hardware has seperate GTT stolen with GFX stolen */
- if (IS_G4X(pI830))
- range = 0;
+ if (IS_G4X(pI830) || IS_GM45(pI830))
+ range = 4;
if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
switch (gmch_ctrl & I855_GMCH_GMS_MASK) {