drm/amd/amdgpu: avoid soft reset check when gpu recovery disabled
authorChengming Gui <Jack.Gui@amd.com>
Fri, 5 Aug 2022 03:00:56 +0000 (11:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 25 Aug 2022 17:35:18 +0000 (13:35 -0400)
Avoid soft reset, even ip hang check (ring/ib test) when gpu recovery
disabled.

v2: add missing "}"

Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index d7eb23b..ce7d117 100644 (file)
@@ -4511,14 +4511,15 @@ bool amdgpu_device_has_job_running(struct amdgpu_device *adev)
  */
 bool amdgpu_device_should_recover_gpu(struct amdgpu_device *adev)
 {
-       if (!amdgpu_device_ip_check_soft_reset(adev)) {
-               dev_info(adev->dev, "Timeout, but no hardware hang detected.\n");
-               return false;
-       }
 
        if (amdgpu_gpu_recovery == 0)
                goto disabled;
 
+       if (!amdgpu_device_ip_check_soft_reset(adev)) {
+               dev_info(adev->dev,"Timeout, but no hardware hang detected.\n");
+               return false;
+       }
+
        if (amdgpu_sriov_vf(adev))
                return true;
 
@@ -4643,7 +4644,7 @@ int amdgpu_device_pre_asic_reset(struct amdgpu_device *adev,
                if (!need_full_reset)
                        need_full_reset = amdgpu_device_ip_need_full_reset(adev);
 
-               if (!need_full_reset) {
+               if (!need_full_reset && amdgpu_gpu_recovery) {
                        amdgpu_device_ip_pre_soft_reset(adev);
                        r = amdgpu_device_ip_soft_reset(adev);
                        amdgpu_device_ip_post_soft_reset(adev);