diff options
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r-- | src/radeon_driver.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index d039920..7cb4c03 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1403,6 +1403,18 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn) if (aper_size > mem_size) mem_size = aper_size; + /* don't map the whole FB in the internal address space. + * we don't currently use fb space larger than the aperture + * size and on cards with more than 512 MB of vram, this can overflow + * the internal top of gart calculation on some systems. + * Limit it to cards with more than 512 MB as this causes problems + * on some other cards due to the way the ddx and drm set up the + * internal memory map. + * See fdo bug 24301. + */ + if (mem_size > 0x20000000) + mem_size = aper_size; + #ifdef XF86DRI /* Apply memory map limitation if using an old DRI */ if (info->directRenderingEnabled && !info->dri->newMemoryMap) { |