diff options
-rw-r--r-- | shared-core/nouveau_object.c | 7 |
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; } |