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

Commit fadb1719 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nvc0/fifo: prevent races between clients updating playlists



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent c2e3259b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ nvc0_fifo_playlist_update(struct nvc0_fifo_priv *priv)
	struct nouveau_gpuobj *cur;
	int i, p;

	mutex_lock(&nv_subdev(priv)->mutex);
	cur = priv->playlist[priv->cur_playlist];
	priv->cur_playlist = !priv->cur_playlist;

@@ -87,6 +88,7 @@ nvc0_fifo_playlist_update(struct nvc0_fifo_priv *priv)
	nv_wr32(priv, 0x002274, 0x01f00000 | (p >> 3));
	if (!nv_wait(priv, 0x00227c, 0x00100000, 0x00000000))
		nv_error(priv, "playlist update failed\n");
	mutex_unlock(&nv_subdev(priv)->mutex);
}

static int