nouveau: mem_alloc() returns offsets, not absolute addresses now.

main
Ben Skeggs 2007-07-12 11:55:47 +10:00
parent 522a0c868c
commit af317f1cc7
1 changed files with 3 additions and 1 deletions

View File

@ -646,6 +646,8 @@ nouveau_gpuobj_dma_new(drm_device_t *dev, int channel, int class,
class)); class));
INSTANCE_WR(*gpuobj, 1, size-1); INSTANCE_WR(*gpuobj, 1, size-1);
offset += dev->sg->virtual;
/*write starting at the third dword*/ /*write starting at the third dword*/
instance_offset = 2; instance_offset = 2;
@ -921,7 +923,7 @@ nouveau_gpuobj_channel_init(drm_device_t *dev, int channel,
/*PCI*/ /*PCI*/
if((ret = nouveau_gpuobj_dma_new(dev, channel, NV_CLASS_DMA_IN_MEMORY, if((ret = nouveau_gpuobj_dma_new(dev, channel, NV_CLASS_DMA_IN_MEMORY,
dev->sg->virtual, dev->sg->pages * PAGE_SIZE, 0, dev->sg->pages * PAGE_SIZE,
NV_DMA_ACCESS_RW, NV_DMA_ACCESS_RW,
NV_DMA_TARGET_PCI_NONLINEAR, &tt))) { NV_DMA_TARGET_PCI_NONLINEAR, &tt))) {
DRM_ERROR("Error creating PCI TT ctxdma: %d\n", DRM_ERR(ENOMEM)); DRM_ERROR("Error creating PCI TT ctxdma: %d\n", DRM_ERR(ENOMEM));