dma-buf: set signaling bit for the stub fence
authorArvind Yadav <Arvind.Yadav@amd.com>
Wed, 14 Sep 2022 16:43:17 +0000 (22:13 +0530)
committerChristian König <christian.koenig@amd.com>
Fri, 16 Sep 2022 13:53:25 +0000 (15:53 +0200)
Here's setting software signaling bit for the stub fence
which is always signaled. If this fence signaling bit is
not set then the AMD GPU scheduler will cause a GPU reset
due to a GPU scheduler cleanup activity timeout.

Signed-off-by: Arvind Yadav <Arvind.Yadav@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220914164321.2156-3-Arvind.Yadav@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/dma-buf/dma-fence.c

index 64c9973..645c158 100644 (file)
@@ -136,6 +136,10 @@ struct dma_fence *dma_fence_get_stub(void)
                               &dma_fence_stub_ops,
                               &dma_fence_stub_lock,
                               0, 0);
+
+               set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+                       &dma_fence_stub.flags);
+
                dma_fence_signal_locked(&dma_fence_stub);
        }
        spin_unlock(&dma_fence_stub_lock);
@@ -161,6 +165,10 @@ struct dma_fence *dma_fence_allocate_private_stub(void)
                       &dma_fence_stub_ops,
                       &dma_fence_stub_lock,
                       0, 0);
+
+       set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+               &dma_fence_stub.flags);
+
        dma_fence_signal(fence);
 
        return fence;