diff options
author | Ben Skeggs <darktama@iinet.net.au> | 2006-11-06 05:46:03 +1100 |
---|---|---|
committer | Ben Skeggs <darktama@iinet.net.au> | 2006-11-06 05:46:03 +1100 |
commit | 0c34d0f31a691bb649ed69f19e93fc1a723aa1d4 (patch) | |
tree | e8684164edeafecffdaa09713a867f0f82b12773 | |
parent | 94ab96c4d8203c236c6a5a8d8a6a761ccf808662 (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.c | 8 |
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); } |