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
