Program the connected queue index into the MES reset packet on gfx12 as
well, so the CP_CNTX_STAT fallback can find and reset a CP-frozen gfx
user queue without query_status. mes_v12_api_def.h already carries the
fields.

Signed-off-by: Jesse Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c 
b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
index 04465804c254..2a38d0c560b1 100644
--- a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
@@ -1151,6 +1151,17 @@ static int mes_v12_0_detect_and_reset_hung_queues(struct 
amdgpu_mes *mes,
        else
                mes_reset_queue_pkt.hang_detect_then_reset = 1;
 
+       if (input->use_connected_queue_index) {
+               mes_reset_queue_pkt.use_connected_queue_index = 1;
+               mes_reset_queue_pkt.connected_queue_index =
+                       input->connected_queue_index;
+       }
+       if (input->use_connected_queue_index_p1) {
+               mes_reset_queue_pkt.use_connected_queue_index_p1 = 1;
+               mes_reset_queue_pkt.connected_queue_index_p1 =
+                       input->connected_queue_index_p1;
+       }
+
        return mes_v12_0_submit_pkt_and_poll_completion(mes, 
AMDGPU_MES_SCHED_PIPE,
                        &mes_reset_queue_pkt, sizeof(mes_reset_queue_pkt),
                        offsetof(union MESAPI__RESET, api_status));
-- 
2.49.0

Reply via email to