aboutsummaryrefslogtreecommitdiff
path: root/shared-core/nv04_instmem.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-08-15 13:34:57 +1000
committerBen Skeggs <skeggsb@gmail.com>2007-08-15 13:34:57 +1000
commitee01d3755ac03f2c47e3b4d9bf084d68e6ee95bc (patch)
treecaade821a468c7ad7a1a8a08ac898da64f19115c /shared-core/nv04_instmem.c
parenta6ea60c77e8d4a266d696e0d99c11b1f39578dcc (diff)
nouveau: Workaround mysterious PRAMIN clobbering by the card.
Diffstat (limited to 'shared-core/nv04_instmem.c')
-rw-r--r--shared-core/nv04_instmem.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/shared-core/nv04_instmem.c b/shared-core/nv04_instmem.c
index b5569b55..fed6ff7e 100644
--- a/shared-core/nv04_instmem.c
+++ b/shared-core/nv04_instmem.c
@@ -94,6 +94,14 @@ int nv04_instmem_init(struct drm_device *dev)
* the space that was reserved for RAMHT/FC/RO.
*/
offset = dev_priv->ramfc_offset + dev_priv->ramfc_size;
+
+ /* On my NV4E, there's *something* clobbering the 16KiB just after
+ * where we setup these fixed tables. No idea what it is just yet,
+ * so reserve this space on all NV4X cards for now.
+ */
+ if (dev_priv->card_type >= NV_40)
+ offset += 16*1024;
+
ret = nouveau_mem_init_heap(&dev_priv->ramin_heap,
offset, dev_priv->ramin_rsvd_vram - offset);
if (ret) {