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.

Signed-off-by: Andrey Grodzovsky <andrey.grodzov...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 30 ++++++++++++++++++++++++++----
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index d11489e..759f3fb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3297,13 +3297,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;
 }
 
 /**
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to