This adds preliminary support for GC per queue reset. In this case, only the jobs currently in the queue are lost. If this fails, we fall back to a full adapter reset. V2: Fix fallbacks to full adapter reset RLC safemode cleanup Preliminary support for older GPUs Alex Deucher (38): drm/amdgpu/gfx10: handle SDMA in KIQ map/unmap drm/amdgpu/mes11: handle second gfx pipe drm/amdgpu/mes: add API for legacy queue reset drm/amdgpu/mes11: add API for legacy queue reset drm/amdgpu/mes12: add API for legacy queue reset drm/amdgpu/mes: add API for user queue reset drm/amdgpu/mes11: add API for user queue reset drm/amdgpu/mes12: add API for user queue reset drm/amdgpu: add new ring reset callback drm/amdgpu: add per ring reset support (v5) drm/amdgpu/gfx11: add ring reset callbacks drm/amdgpu/gfx11: rename gfx_v11_0_gfx_init_queue() drm/amdgpu/gfx10: add ring reset callbacks drm/amdgpu/gfx10: rework reset sequence drm/amdgpu/gfx9: add ring reset callback drm/amdgpu/gfx9.4.3: add ring reset callback drm/amdgpu/gfx12: add ring reset callbacks drm/amdgpu/gfx12: fallback to driver reset compute queue directly drm/amdgpu/gfx11: enter safe mode before touching CP_INT_CNTL drm/amdgpu/gfx11: add a mutex for the gfx semaphore drm/amdgpu/gfx11: export gfx_v11_0_request_gfx_index_mutex() drm/amdgpu/gfx9: per queue reset only on bare metal drm/amdgpu/gfx10: per queue reset only on bare metal drm/amdgpu/gfx11: per queue reset only on bare metal drm/amdgpu/gfx12: per queue reset only on bare metal drm/amdgpu/gfx9: add ring reset callback for gfx drm/amdgpu/gfx8: add ring reset callback for gfx drm/amdgpu/gfx7: add ring reset callback for gfx drm/amdgpu/gfx9: use proper rlc safe mode helpers drm/amdgpu/gfx9.4.3: use proper rlc safe mode helpers drm/amdgpu/gfx10: use proper rlc safe mode helpers drm/amdgpu/gfx11: use proper rlc safe mode helpers drm/amdgpu/gfx12: use proper rlc safe mode helpers drm/amdgpu/gfx12: use rlc safe mode for soft recovery drm/amdgpu/gfx11: use rlc safe mode for soft recovery drm/amdgpu/gfx10: use rlc safe mode for soft recovery drm/amdgpu/gfx9.4.3: use rlc safe mode for soft recovery drm/amdgpu/gfx9: use rlc safe mode for soft recovery Jiadong Zhu (13): drm/amdgpu/gfx11: wait for reset done before remap drm/amdgpu/gfx10: remap queue after reset successfully drm/amdgpu/gfx10: wait for reset done before remap drm/amdgpu/gfx9: remap queue after reset successfully drm/amdgpu/gfx9: wait for reset done before remap drm/amdgpu/gfx9.4.3: remap queue after reset successfully drm/amdgpu/gfx_9.4.3: wait for reset done before remap drm/amdgpu/gfx: add a new kiq_pm4_funcs callback for reset_hw_queue drm/amdgpu/gfx9: implement reset_hw_queue for gfx9 drm/amdgpu/gfx9.4.3: implement reset_hw_queue for gfx9.4.3 drm/amdgpu/mes: modify mes api for mmio queue reset drm/amdgpu/mes: implement amdgpu_mes_reset_hw_queue_mmio drm/amdgpu/mes11: implement mmio queue reset for gfx11 Prike Liang (2): drm/amdgpu: increase the reset counter for the queue reset drm/amdgpu/gfx11: fallback to driver reset compute queue directly (v2) drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 6 + drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 20 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 88 ++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h | 37 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 + drivers/gpu/drm/amd/amdgpu/cikd.h | 1 + drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 251 +++++++++++++++++++-- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 127 +++++++++-- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.h | 3 + drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 103 ++++++++- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 76 ++++++- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 75 +++++- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 179 ++++++++++++++- drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 132 ++++++++++- drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 134 +++++++++++ drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 54 +++++ drivers/gpu/drm/amd/amdgpu/nvd.h | 2 + drivers/gpu/drm/amd/amdgpu/vid.h | 1 + 19 files changed, 1243 insertions(+), 49 deletions(-) -- 2.45.2