drm/amdgpu/sdma5.2: associate mes queue id with fence
authorJack Xiao <Jack.Xiao@amd.com>
Sun, 22 Mar 2020 09:00:59 +0000 (17:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 May 2022 14:43:50 +0000 (10:43 -0400)
Associate mes queue id with fence, so that EOP trap handler can look up
which queue issues the fence.

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c

index f67801c5a6c18eb93131b225b406561c1b65aef7..0b7de18df5f450cf4385375855ab4f1cfd572105 100644 (file)
@@ -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));
        }
 }