summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_object.c
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-09-07 23:59:19 +1000
committerBen Skeggs <darktama@iinet.net.au>2006-09-07 23:59:19 +1000
commit0ef29768ca909421539c3d8f65bb8e94912fa597 (patch)
treee4e4936395d86bf5c1bc398020de88765ed8af2f /shared-core/nouveau_object.c
parentd89c623f8e739815ea952adc77cfe5c0f7204407 (diff)
Fix second start of X server without module reload beforehand, and a couple of other fixes.
- Mark the correct RAMIN slots as free (oops) - Remove a VRAM alloc that shouldn't have been there (oops) - Move HT init out of firstopen() and into dma_init() - Setup PFIFO_RAM{HT,FC,RO} in pfifo_init()
Diffstat (limited to 'shared-core/nouveau_object.c')
-rw-r--r--shared-core/nouveau_object.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/shared-core/nouveau_object.c b/shared-core/nouveau_object.c
index f5c16c5e..a7fe06c2 100644
--- a/shared-core/nouveau_object.c
+++ b/shared-core/nouveau_object.c
@@ -241,7 +241,7 @@ static void nouveau_object_instance_free(drm_device_t *dev,
obj->instance >>= (dev_priv->card_type >=NV_40 ? 5 : 4);
be = obj->instance / 32;
bb = obj->instance % 32;
- objs->inst_bmap[be] &= ~bb;
+ objs->inst_bmap[be] &= ~(1<<bb);
objs->free_instance++;
}
@@ -265,14 +265,6 @@ void nouveau_hash_table_init(drm_device_t* dev)
dev_priv->objs.ht_base = 0x10000;
dev_priv->objs.ht_size = (1 << dev_priv->objs.ht_bits);
- NV_WRITE(NV_PFIFO_RAMHT,
- (0x03 << 24) /* search 128 */ |
- ((dev_priv->objs.ht_bits - 9) << 16) |
- ((dev_priv->objs.ht_base >> 16) << 4)
- );
- NV_WRITE(NV_PFIFO_RAMFC, 0x00000110); /* RAMIN+0x11000 0.5k */
- NV_WRITE(NV_PFIFO_RAMRO, 0x00000112); /* RAMIN+0x11200 0.5k */
-
dev_priv->objs.first_instance = 0x12000;
dev_priv->objs.free_instance = 1024; /*FIXME*/
dev_priv->objs.num_instance = 1024; /*FIXME*/