From 391c92ae1799f0d1fddb2321c5713afc58575514 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Fri, 6 Mar 2009 09:04:44 +1000 Subject: [PATCH] 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! --- shared-core/nouveau_mem.c | 5 +---- shared-core/nv04_instmem.c | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) 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); } -- 2.7.4