[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220914164321.2156-3-Arvind.Yadav@amd.com>
Date: Wed, 14 Sep 2022 22:13:17 +0530
From: Arvind Yadav <Arvind.Yadav@....com>
To: <Christian.Koenig@....com>, <andrey.grodzovsky@....com>,
<shashank.sharma@....com>, <amaranath.somalapuram@....com>,
<Arunpravin.PaneerSelvam@....com>, <sumit.semwal@...aro.org>,
<gustavo@...ovan.org>, <airlied@...ux.ie>, <daniel@...ll.ch>,
<linux-media@...r.kernel.org>, <dri-devel@...ts.freedesktop.org>,
<linaro-mm-sig@...ts.linaro.org>, <linux-kernel@...r.kernel.org>
CC: Arvind Yadav <Arvind.Yadav@....com>,
Christian König <christian.koenig@....com>
Subject: [PATCH v4 2/6] dma-buf: set signaling bit for the stub fence
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@....com>
Reviewed-by: Christian König <christian.koenig@....com>
---
Changes in v1 :
1- Addressing Christian's comment to remove unnecessary callback.
2- Replacing CONFIG_DEBUG_WW_MUTEX_SLOWPATH instead of CONFIG_DEBUG_FS.
3- The version of this patch is also changed and previously
it was [PATCH 3/4]
Changes in v2 :
1 - perviously using __dma_fence_enable_signaling() for enable
signaling.
2 - #ifdef CONFIG_DEBUG_WW_MUTEX_SLOWPATH removed
Changes in v3 :
1 - Enable Signaling bit for dma_fence_allocate_private_stub.
---
drivers/dma-buf/dma-fence.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 64c99739ad23..645c158b7e01 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -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;
--
2.25.1
Powered by blists - more mailing lists