From: Ben Skeggs Date: Thu, 5 Mar 2009 23:04:44 +0000 (+1000) Subject: drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsets X-Git-Tag: android-x86-1.6~31 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=391c92ae1799f0d1fddb2321c5713afc58575514;p=android-x86%2Fexternal-libdrm.git drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsets NV04 was completely busted. Push buffers were getting allocated at the end of VRAM, overwriting PRAMIN. So, it turns out PRAMIN is in VRAM on all chips. Question answered! --- diff --git a/shared-core/nouveau_mem.c b/shared-core/nouveau_mem.c index 991e7d40..64125b61 100644 --- a/shared-core/nouveau_mem.c +++ b/shared-core/nouveau_mem.c @@ -485,10 +485,7 @@ int nouveau_mem_init(struct drm_device *dev) */ if (dev_priv->card_type >= NV_50 && fb_size > (512 * 1024 * 1024)) fb_size = (512 * 1024 * 1024); - /* On at least NV40, RAMIN is actually at the end of vram. - * We don't want to allocate this... */ - if (dev_priv->card_type >= NV_40) - fb_size -= dev_priv->ramin_rsvd_vram; + fb_size -= dev_priv->ramin_rsvd_vram; dev_priv->fb_available_size = fb_size; DRM_DEBUG("Available VRAM: %dKiB\n", fb_size>>10); diff --git a/shared-core/nv04_instmem.c b/shared-core/nv04_instmem.c index 7b58aa41..713b02d0 100644 --- a/shared-core/nv04_instmem.c +++ b/shared-core/nv04_instmem.c @@ -17,8 +17,7 @@ nv04_instmem_determine_amount(struct drm_device *dev) */ dev_priv->ramin_rsvd_vram = (1*1024* 1024); } else { - /*XXX: what *are* the limits on ramin_rsvd_vram = (512*1024); }