drm/amdgpu: Enable default GPU reset for dGPU on gfx8/9 v3
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Mon, 22 Oct 2018 21:12:39 +0000 (17:12 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Nov 2018 19:21:23 +0000 (14:21 -0500)
After testing looks like these subset of ASICs has GPU reset
working for the most part. Enable reset due to job timeout.

v2: Switch from GFX version to ASIC type.
v3: Fix identation

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 30bc345..416a676 100644 (file)
@@ -3295,13 +3295,35 @@ bool amdgpu_device_should_recover_gpu(struct amdgpu_device *adev)
                return false;
        }
 
-       if (amdgpu_gpu_recovery == 0 || (amdgpu_gpu_recovery == -1  &&
-                                        !amdgpu_sriov_vf(adev))) {
-               DRM_INFO("GPU recovery disabled.\n");
-               return false;
+       if (amdgpu_gpu_recovery == 0)
+               goto disabled;
+
+       if (amdgpu_sriov_vf(adev))
+               return true;
+
+       if (amdgpu_gpu_recovery == -1) {
+               switch (adev->asic_type) {
+               case CHIP_TOPAZ:
+               case CHIP_TONGA:
+               case CHIP_FIJI:
+               case CHIP_POLARIS10:
+               case CHIP_POLARIS11:
+               case CHIP_POLARIS12:
+               case CHIP_VEGAM:
+               case CHIP_VEGA20:
+               case CHIP_VEGA10:
+               case CHIP_VEGA12:
+                       break;
+               default:
+                       goto disabled;
+               }
        }
 
        return true;
+
+disabled:
+               DRM_INFO("GPU recovery disabled.\n");
+               return false;
 }
 
 /**