OSDN Git Service

Leave the bottom 64kb of RAMIN untouched.
authorBen Skeggs <darktama@iinet.net.au>
Sun, 5 Nov 2006 18:46:03 +0000 (05:46 +1100)
committerBen Skeggs <darktama@iinet.net.au>
Sun, 5 Nov 2006 18:46:03 +0000 (05:46 +1100)
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?

shared-core/nouveau_object.c

index b539ee6..935297f 100644 (file)
@@ -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);
 }