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

Commit 62841ab7 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv50: prevent (IB_PUT == IB_GET) for occurring unless idle



Should fix a DMA race condition I've never seen myself, but could be
the culprit in some random hangs that have been reported.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent cd2fb2e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ nv50_dma_push_wait(struct nouveau_channel *chan, int count)

		chan->dma.ib_free = get - chan->dma.ib_put;
		if (chan->dma.ib_free <= 0)
			chan->dma.ib_free += chan->dma.ib_max + 1;
			chan->dma.ib_free += chan->dma.ib_max;
	}

	return 0;