summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared-core/nouveau_fifo.c7
-rw-r--r--shared-core/nouveau_object.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/shared-core/nouveau_fifo.c b/shared-core/nouveau_fifo.c
index d015d420..5a7b8638 100644
--- a/shared-core/nouveau_fifo.c
+++ b/shared-core/nouveau_fifo.c
@@ -92,12 +92,15 @@ static void nouveau_fifo_init(drm_device_t* dev)
((dev_priv->objs.ht_bits - 9) << 16) |
(dev_priv->objs.ht_base >> 8)
);
- dev_priv->ramfc_offset=0x12000;
- dev_priv->ramro_offset=0x11200;
+ /* RAMFC needs to be at RAMIN+0x20000 on NV40, I currently don't know
+ * how to move it..
+ */
+ dev_priv->ramfc_offset=0x20000;
if (dev_priv->card_type < NV_40)
NV_WRITE(NV_PFIFO_RAMFC, dev_priv->ramfc_offset>>8); /* RAMIN+0x11000 0.5k */
else
NV_WRITE(0x2220, 0x30002);
+ dev_priv->ramro_offset=0x11200;
NV_WRITE(NV_PFIFO_RAMRO, dev_priv->ramro_offset>>8); /* RAMIN+0x11200 0.5k */
NV_WRITE(NV_PFIFO_CACH0_PUL1, 0x00000001);
NV_WRITE(NV_PFIFO_CACH1_DMAC, 0x00000000);
diff --git a/shared-core/nouveau_object.c b/shared-core/nouveau_object.c
index 5f11cfa7..18c50763 100644
--- a/shared-core/nouveau_object.c
+++ b/shared-core/nouveau_object.c
@@ -303,10 +303,8 @@ 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 the hash table */
- ht_start = NV_RAMIN+dev_priv->objs.ht_base;
- ht_end = ht_start + dev_priv->objs.ht_size;
- for (i=ht_start; i<ht_end; i+=4)
+ /* clear all of RAMIN */
+ for (i=0x00700000; i<0x00800000; i+=4)
NV_WRITE(i, 0x00000000);
}