summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-09-02 22:25:26 +1000
committerBen Skeggs <darktama@iinet.net.au>2006-09-02 22:25:26 +1000
commit97291a6ad05848b05af69e52453d93db1e96473b (patch)
tree8966e1f3fab8f500c6333142bc78b8e614b3eb37
parent24dddc27549f2b8cf837305ee84dd1ca97df98e7 (diff)
Use DMA_IN_MEMORY for DMA objects. This is needed for a DDX change that will
be committed soon after this. Without the change, MEMFORMAT_DMA_OUT appears to have no effect.
-rw-r--r--shared-core/nouveau_object.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/shared-core/nouveau_object.c b/shared-core/nouveau_object.c
index fb30d529..f5c16c5e 100644
--- a/shared-core/nouveau_object.c
+++ b/shared-core/nouveau_object.c
@@ -338,14 +338,17 @@ struct nouveau_object *nouveau_dma_object_create(drm_device_t* dev,
| (adjust<<20)
| (access<<14)
| (target<<16)
- | 2)
+ | 0x3D /* DMA_IN_MEMORY */)
);
NV_WRITE(NV_RAMIN + obj->instance + 4,
size - 1);
NV_WRITE(NV_RAMIN + obj->instance + 8,
frame | ((access != NV_DMA_ACCESS_RO) ? (1<<1) : 0));
+ /* I don't actually know what this is, the DMA objects I see
+ * in renouveau dumps usually have this as the same as +8
+ */
NV_WRITE(NV_RAMIN + obj->instance + 12,
- 0xFFFFFFFF);
+ frame | ((access != NV_DMA_ACCESS_RO) ? (1<<1) : 0));
return obj;
}