From 97291a6ad05848b05af69e52453d93db1e96473b Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Sat, 2 Sep 2006 22:25:26 +1000 Subject: [PATCH] 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; }