summaryrefslogtreecommitdiff
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
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?
-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);
}