]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdkfd: Avoid queue reset if disabled
authorLijo Lazar <lijo.lazar@amd.com>
Mon, 30 Jun 2025 04:37:14 +0000 (10:07 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Jul 2025 17:48:12 +0000 (13:48 -0400)
If ring reset is disabled, skip resetting queues. Instead, fall back to
device based reset.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

index 76359c6a3f3a442bb9df25c5d18f6d7484fc9bfd..500f5155203892440fbe3ef187a8d8fe724c0ae7 100644 (file)
@@ -2339,9 +2339,18 @@ reset_fail:
 
 static int reset_queues_on_hws_hang(struct device_queue_manager *dqm, bool is_sdma)
 {
+       struct amdgpu_device *adev = dqm->dev->adev;
+
        while (halt_if_hws_hang)
                schedule();
 
+       if (adev->debug_disable_gpu_ring_reset) {
+               dev_info_once(adev->dev,
+                             "%s queue hung, but ring reset disabled",
+                             is_sdma ? "sdma" : "compute");
+
+               return -EPERM;
+       }
        if (!amdgpu_gpu_recovery)
                return -ENOTRECOVERABLE;