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: submit/1.0/20121108.012404~532 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=391c92ae1799f0d1fddb2321c5713afc58575514;p=profile%2Fivi%2Flibdrm.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 991e7d4..64125b6 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 7b58aa4..713b02d 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); }