diff options
author | Dave Airlie <airlied@linux.ie> | 2006-09-22 06:00:04 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2006-09-22 06:00:04 +1000 |
commit | 4a54886d510f26b29d27e5c9a73647554291b1a6 (patch) | |
tree | 9195d333674d733ace7682dd3da461745b45f59c /src/radeon_driver.c | |
parent | 70264d645724718a48ca229fedc04e33681b7d31 (diff) | |
parent | 9fa176c7989030e7340cc9b85d0b6a7b34303091 (diff) |
Merge branch 'master' into radeon-spm1
Conflicts:
src/radeon_driver.c
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r-- | src/radeon_driver.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 1dd1d3ff..5ef7d15d 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -849,8 +849,6 @@ static int RADEONDiv(int n, int d) return (n + (d / 2)) / d; } - - static Bool RADEONProbePLLParameters(ScrnInfoPtr pScrn) { RADEONInfoPtr info = RADEONPTR(pScrn); @@ -1109,9 +1107,9 @@ static void RADEONGetClockInfo(ScrnInfoPtr pScrn) /* Avoid RN50 corruption due to memory bandwidth starvation. * 18 is an empirical value based on the databook and Windows driver. * - * Empirical value changed to 24 to raise pixel clock limit and - * allow higher resolution modes on capable monitors. - */ + * Empirical value changed to 24 to raise pixel clock limit and + * allow higher resolution modes on capable monitors + */ pll->max_pll_freq = min(pll->max_pll_freq, 24 * info->mclk * 100 / pScrn->bitsPerPixel * info->RamWidth / 16); @@ -1250,6 +1248,7 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn) RADEONInfoPtr info = RADEONPTR(pScrn); unsigned char *RADEONMMIO = info->MMIO; unsigned long mem_size; + CARD32 aper_size; /* Default to existing values */ info->mc_fb_location = INREG(RADEON_MC_FB_LOCATION); @@ -1259,13 +1258,18 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn) * but the real video RAM instead */ mem_size = INREG(RADEON_CONFIG_MEMSIZE); + aper_size = INREG(RADEON_CONFIG_APER_SIZE); if (mem_size == 0) mem_size = 0x800000; + /* Fix for RN50, M6, M7 with 8/16/32(??) MBs of VRAM - + Novell bug 204882 + along with lots of ubuntu ones */ + if (aper_size > mem_size) + mem_size = aper_size; + #ifdef XF86DRI /* Apply memory map limitation if using an old DRI */ if (info->directRenderingEnabled && !info->newMemoryMap) { - CARD32 aper_size = INREG(RADEON_CONFIG_APER_SIZE); if (aper_size < mem_size) mem_size = aper_size; } |