Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f9f51fc authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv50-nvc0: lookup pushbuf virtual address on dma_push



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent d02836b4
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -167,8 +167,13 @@ nv50_dma_push(struct nouveau_channel *chan, struct nouveau_bo *bo,
	      int delta, int length)
{
	struct nouveau_bo *pb = chan->pushbuf_bo;
	uint64_t offset = bo->vma.offset + delta;
	struct nouveau_vma *vma;
	int ip = (chan->dma.ib_put * 2) + chan->dma.ib_base;
	u64 offset;

	vma = nouveau_bo_vma_find(bo, chan->vm);
	BUG_ON(!vma);
	offset = vma->offset + delta;

	BUG_ON(chan->dma.ib_free < 1);
	nouveau_bo_wr32(pb, ip++, lower_32_bits(offset));