This set improves per queue reset support for GC10+. This enables the legacy enforce isolation behavior to serialize access to GC for kernel queues so that only one process uses the queue at a time. When we reset the queue, only that process is effected which improves the user experience when a queue is reset. This mirrors how windows handles per queue resets. Tested on GC 10 and 11 chips with a game running and then running hang tests. The game pauses when the hang happens, then continues after the queue reset.
I tried this same approach and GC8 and 9, but it was not as reliable as soft recovery. I also compared this to Christian's reset patches, but I was not able to make them work as reliably as this series. Alex Deucher (9): Revert "drm/amd/amdgpu: add pipe1 hardware support" drm/amdgpu: adjust ring reset behavior drm/amdgpu: add AMDGPU_QUEUE_RESET_TIMEOUT drm/amdgpu/gfx11: enable legacy enforce isolation drm/amdgpu/gfx11: adjust ring reset sequences drm/amdgpu/gfx12: enable legacy enforce isolation drm/amdgpu/gfx12: adjust ring reset sequences drm/amdgpu/gfx10: enable legacy enforce isolation drm/amdgpu/gfx10: adjust ring reset sequences Christian König (1): drm/amdgpu: rework queue reset scheduler interaction drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 27 +++++++++++---------- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 31 +++++++++++++++++++++---- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 29 ++++++++++++++++++++--- drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 29 ++++++++++++++++++++--- drivers/gpu/drm/amd/amdgpu/nvd.h | 1 + 6 files changed, 96 insertions(+), 22 deletions(-) -- 2.49.0