aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch
new file mode 100644
index 00000000..805fee29
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0689-drm-amdgpu-Enable-default-GPU-reset-for-dGPU-on-gfx8.patch
@@ -0,0 +1,70 @@
+From 375bdf6390a1d134bf93f7e7c0ec1d9ea71b314a Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Date: Mon, 22 Oct 2018 17:12:39 -0400
+Subject: [PATCH 0689/2940] drm/amdgpu: Enable default GPU reset for dGPU on
+ gfx8/9 v3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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 | 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 7f7bc0fd0ed3..4c16bc088faa 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -3344,13 +3344,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.17.1
+