From 97291a6ad05848b05af69e52453d93db1e96473b Mon Sep 17 00:00:00 2001
From: Ben Skeggs <darktama@iinet.net.au>
Date: Sat, 2 Sep 2006 22:25:26 +1000
Subject: 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.

---
 shared-core/nouveau_object.c | 7 +++++--
 1 file 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;
 }
-- 
cgit v1.2.3