diff options
author | Eric Anholt <eric@anholt.net> | 2008-10-14 11:33:33 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-10-14 11:33:33 -0700 |
commit | 4dd00681dd0f9fce8dfd4592b46418edbbd2eeb4 (patch) | |
tree | a66222bea11b5cc4daa02cc2b11663804c8e4beb | |
parent | e7e49bed7e254256f8cc0d4afcdfadc6dadf19e6 (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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index c1d61f4f..eaf5d27b 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -502,8 +502,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) { |