Am 09.09.22 um 19:08 schrieb Arvind Yadav:
Here's enabling software signaling on fence because
amdgpu_ctx_add_fence() is checking the status of fence
and emits warning.
Signed-off-by: Arvind Yadav <Arvind.Yadav@xxxxxxx>
---
Changes in v1, v2: This new patch was not part of previous series.
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index afe22f83d4a6..21221d705588 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -730,6 +730,8 @@ uint64_t amdgpu_ctx_add_fence(struct amdgpu_ctx *ctx,
dma_fence_get(fence);
+ dma_fence_enable_sw_signaling(fence);
+
That looks like a step into the right direction, but still isn't correct.
The code using this interface should call amdgpu_ctx_wait_prev_fence()
before calling amdgpu_ctx_add_fence(). And amdgpu_ctx_wait_prev_fence()
in turn calls dma_fence_wait() which should also enables the signaling.
So when we need this here something is still very wrong on the logic :)
Thanks,
Christian.
spin_lock(&ctx->ring_lock);
centity->fences[idx] = fence;
centity->sequence++;