]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/nouveau: Simplify nouveau_fence_done()
authorPhilipp Stanner <phasta@kernel.org>
Thu, 24 Apr 2025 13:02:53 +0000 (15:02 +0200)
committerDanilo Krummrich <dakr@kernel.org>
Fri, 16 May 2025 13:15:26 +0000 (15:15 +0200)
nouveau_fence_done() contains an if branch that checks whether a
nouveau_fence has either of the two existing nouveau_fence backend ops,
which will always evaluate to true.

Remove the surplus check.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://lore.kernel.org/r/20250424130254.42046-5-phasta@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
drivers/gpu/drm/nouveau/nouveau_fence.c

index 2b79bcb7da161eadfe0489a0c64625ab8121c6c6..fb9811938c8277fc966004335f8dbbc28a939700 100644 (file)
@@ -249,21 +249,19 @@ nouveau_fence_emit(struct nouveau_fence *fence)
 bool
 nouveau_fence_done(struct nouveau_fence *fence)
 {
-       if (fence->base.ops == &nouveau_fence_ops_legacy ||
-           fence->base.ops == &nouveau_fence_ops_uevent) {
-               struct nouveau_fence_chan *fctx = nouveau_fctx(fence);
-               struct nouveau_channel *chan;
-               unsigned long flags;
+       struct nouveau_fence_chan *fctx = nouveau_fctx(fence);
+       struct nouveau_channel *chan;
+       unsigned long flags;
 
-               if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->base.flags))
-                       return true;
+       if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->base.flags))
+               return true;
+
+       spin_lock_irqsave(&fctx->lock, flags);
+       chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
+       if (chan)
+               nouveau_fence_update(chan, fctx);
+       spin_unlock_irqrestore(&fctx->lock, flags);
 
-               spin_lock_irqsave(&fctx->lock, flags);
-               chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
-               if (chan)
-                       nouveau_fence_update(chan, fctx);
-               spin_unlock_irqrestore(&fctx->lock, flags);
-       }
        return dma_fence_is_signaled(&fence->base);
 }