From: Jack Xiao <[email protected]>

Associate mes queue id with fence, so that EOP trap handler can look up
which queue issues the fence.

Signed-off-by: Jack Xiao <[email protected]>
Acked-by: Christian König <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 
b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index f67801c5a6c1..0b7de18df5f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -460,10 +460,12 @@ static void sdma_v5_2_ring_emit_fence(struct amdgpu_ring 
*ring, u64 addr, u64 se
                amdgpu_ring_write(ring, upper_32_bits(seq));
        }
 
-       if (flags & AMDGPU_FENCE_FLAG_INT) {
+       if ((flags & AMDGPU_FENCE_FLAG_INT)) {
+               uint32_t ctx = ring->is_mes_queue ?
+                       (ring->hw_queue_id | AMDGPU_FENCE_MES_QUEUE_FLAG) : 0;
                /* generate an interrupt */
                amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_TRAP));
-               amdgpu_ring_write(ring, 
SDMA_PKT_TRAP_INT_CONTEXT_INT_CONTEXT(0));
+               amdgpu_ring_write(ring, 
SDMA_PKT_TRAP_INT_CONTEXT_INT_CONTEXT(ctx));
        }
 }
 
-- 
2.35.1

Reply via email to