diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2009-03-06 09:04:44 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2009-03-06 09:16:54 +1000 |
commit | 391c92ae1799f0d1fddb2321c5713afc58575514 (patch) | |
tree | e70b43c3d60029cc5485e9fcab135f4d3c256e81 | |
parent | 14503dafa79cfdea69d618f2c28dafb66765a8a0 (diff) |
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!
-rw-r--r-- | shared-core/nouveau_mem.c | 5 | ||||
-rw-r--r-- | 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 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 <NV40 cards?, and does RAMIN - * exist in vram on those cards as well? + /*XXX: what *are* the limits on <NV40 cards? */ dev_priv->ramin_rsvd_vram = (512*1024); } |