drm/amdgpu: fix gpu recovery disable with per queue reset
authorJonathan Kim <jonathan.kim@amd.com>
Wed, 8 Jan 2025 19:39:58 +0000 (14:39 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 9 Jan 2025 21:02:57 +0000 (16:02 -0500)
Per queue reset should be bypassed when gpu recovery is disabled
with module parameter.

Fixes: ee0a469cf917 ("drm/amdkfd: support per-queue reset on gfx9")
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c

index cc66ebb7bae15fee418a0ba723ea7191861ac076..441568163e20e404bcb9dc516cdd638eac867da5 100644 (file)
@@ -1131,6 +1131,9 @@ uint64_t kgd_gfx_v9_hqd_get_pq_addr(struct amdgpu_device *adev,
        uint32_t low, high;
        uint64_t queue_addr = 0;
 
+       if (!amdgpu_gpu_recovery)
+               return 0;
+
        kgd_gfx_v9_acquire_queue(adev, pipe_id, queue_id, inst);
        amdgpu_gfx_rlc_enter_safe_mode(adev, inst);
 
@@ -1179,6 +1182,9 @@ uint64_t kgd_gfx_v9_hqd_reset(struct amdgpu_device *adev,
        uint32_t low, high, pipe_reset_data = 0;
        uint64_t queue_addr = 0;
 
+       if (!amdgpu_gpu_recovery)
+               return 0;
+
        kgd_gfx_v9_acquire_queue(adev, pipe_id, queue_id, inst);
        amdgpu_gfx_rlc_enter_safe_mode(adev, inst);