summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2022-06-01 20:46:05 +1000
committerDave Airlie <airlied@redhat.com>2022-07-13 13:57:06 +1000
commit7ba01b504c16ae64a8faa5f5ee9a809d424cdf0e (patch)
treede0406f1d135c1cc4473a73e3f7c18f1a10da0dd
parent40184ece92ebc5adfdba84554bffb60ef0e37029 (diff)
downloadlinux-rpi-7ba01b504c16ae64a8faa5f5ee9a809d424cdf0e.tar.gz
linux-rpi-7ba01b504c16ae64a8faa5f5ee9a809d424cdf0e.tar.bz2
linux-rpi-7ba01b504c16ae64a8faa5f5ee9a809d424cdf0e.zip
drm/nouveau: remove double WFI when destroying channels
This is particularly irritating when the channel has hung. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_abi16.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index 2278b9243efe..5bee655e7e63 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -126,9 +126,8 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
{
struct nouveau_abi16_ntfy *ntfy, *temp;
- /* wait for all activity to stop before releasing notify object, which
- * may be still in use */
- if (chan->chan && chan->ntfy)
+ /* wait for all activity to stop before cleaning up */
+ if (chan->chan)
nouveau_channel_idle(chan->chan);
/* cleanup notifier state */
@@ -148,7 +147,6 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
/* destroy channel object, all children will be killed too */
if (chan->chan) {
nvif_object_dtor(&chan->ce);
- nouveau_channel_idle(chan->chan);
nouveau_channel_del(&chan->chan);
}