]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex
authorBen Skeggs <bskeggs@redhat.com>
Sat, 5 Nov 2016 04:33:14 +0000 (14:33 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Jan 2017 07:32:20 +0000 (08:32 +0100)
commit9195157f7d03758655ea6940348152b2c563fa1a
treec0a68fa4ae179b12427bf04128c72029a6dcab79
parent64a5c4725fd385cb51c0b6b63b3f65d68d4aa2a8
drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex

commit b27add13f500469127afdf011dbcc9c649e16e54 upstream.

This avoids an issue that occurs when we're attempting to preempt multiple
channels simultaneously.  HW seems to ignore preempt requests while it's
still processing a previous one, which, well, makes sense.

Fixes random "fifo: SCHED_ERROR 0d []" + GPCCS page faults during parallel
piglit runs on (at least) GM107.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogf100.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c