drm/nouveau: chan: provide nouveau_channel_kill()
authorDanilo Krummrich <dakr@redhat.com>
Fri, 4 Aug 2023 18:23:49 +0000 (20:23 +0200)
committerDanilo Krummrich <dakr@redhat.com>
Fri, 4 Aug 2023 18:34:38 +0000 (20:34 +0200)
commit7576c4ca6d817221688e985f20eecc1f0ebead93
treeef70ed75888cd72615863643cd84f552e26fd1c6
parentf124eef76f855d9f3df8827cb1e166f96994042c
drm/nouveau: chan: provide nouveau_channel_kill()

The new VM_BIND UAPI implementation introduced in subsequent commits
will allow asynchronous jobs processing push buffers and emitting fences.

If a job times out, we need a way to recover from this situation. For
now, simply kill the channel to unblock all hung up jobs and signal
userspace that the device is dead on the next EXEC or VM_BIND ioctl.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230804182406.5222-10-dakr@redhat.com
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_chan.h