diff --git a/src/radeon_driver.c b/src/radeon_driver.c index d039920..d5704d3 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1403,6 +1403,15 @@ 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 1 GB of vram, this can overflow + * the internal top of gart calculation on some systems. + * See fdo bug 24301. + */ + if (mem_size > aper_size) + mem_size = aper_size; + #ifdef XF86DRI /* Apply memory map limitation if using an old DRI */ if (info->directRenderingEnabled && !info->dri->newMemoryMap) {