diff options
author | Ben Skeggs <skeggsb@gmail.com> | 2007-08-15 13:34:57 +1000 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2007-08-15 13:34:57 +1000 |
commit | ee01d3755ac03f2c47e3b4d9bf084d68e6ee95bc (patch) | |
tree | caade821a468c7ad7a1a8a08ac898da64f19115c /shared-core/nv04_instmem.c | |
parent | a6ea60c77e8d4a266d696e0d99c11b1f39578dcc (diff) |
nouveau: Workaround mysterious PRAMIN clobbering by the card.
Diffstat (limited to 'shared-core/nv04_instmem.c')
-rw-r--r-- | shared-core/nv04_instmem.c | 8 |
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) { |