summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_object.c
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-11-06 05:46:03 +1100
committerBen Skeggs <darktama@iinet.net.au>2006-11-06 05:46:03 +1100
commit0c34d0f31a691bb649ed69f19e93fc1a723aa1d4 (patch)
treee8684164edeafecffdaa09713a867f0f82b12773 /shared-core/nouveau_object.c
parent94ab96c4d8203c236c6a5a8d8a6a761ccf808662 (diff)
Leave the bottom 64kb of RAMIN untouched.
The binary driver will screw up either it's init or shutdown, leaving the screen(s) in an unusable state without this. Something important in there?
Diffstat (limited to 'shared-core/nouveau_object.c')
-rw-r--r--shared-core/nouveau_object.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/shared-core/nouveau_object.c b/shared-core/nouveau_object.c
index b539ee65..935297fa 100644
--- a/shared-core/nouveau_object.c
+++ b/shared-core/nouveau_object.c
@@ -302,8 +302,12 @@ void nouveau_hash_table_init(drm_device_t* dev)
dev_priv->objs.inst_bmap = drm_calloc
(1, dev_priv->objs.num_instance/32, DRM_MEM_DRIVER);
- /* clear all of RAMIN */
- for (i=0x00700000; i<0x00800000; i+=4)
+ /* clear all of RAMIN
+ * NOTE: except the bottom 0x10000 bytes, the binary driver doesn't
+ * like this and will die either sometime during init, or during
+ * shutdown - leaving the screen in an unusable state...
+ */
+ for (i=0x00710000; i<0x00800000; i+=4)
NV_WRITE(i, 0x00000000);
}