aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch
new file mode 100644
index 00000000..5650b297
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1978-drm-amdgpu-vega20-use-mode1-reset-for-RAS-and-XGMI.patch
@@ -0,0 +1,44 @@
+From 175c866478cfdea74cbba27b9c9fc7ccb3c5bc88 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 15 May 2019 13:53:14 -0500
+Subject: [PATCH 1978/2940] drm/amdgpu/vega20: use mode1 reset for RAS and XGMI
+
+If RAS or XGMI are enabled, you have to use mode1 reset rather
+than BACO.
+
+Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/soc15.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
+index 7bedc02b8d7a..75524caff362 100644
+--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
+@@ -65,6 +65,8 @@
+ #include "dce_virtual.h"
+ #include "mxgpu_ai.h"
+ #include "amdgpu_smu.h"
++#include "amdgpu_ras.h"
++#include "amdgpu_xgmi.h"
+ #include <uapi/linux/kfd_ioctl.h>
+
+ #define mmMP0_MISC_CGTT_CTRL0 0x01b9
+@@ -485,6 +487,13 @@ static int soc15_asic_reset(struct amdgpu_device *adev)
+ soc15_asic_get_baco_capability(adev, &baco_reset);
+ else
+ baco_reset = false;
++ if (baco_reset) {
++ struct amdgpu_hive_info *hive = amdgpu_get_xgmi_hive(adev, 0);
++ struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
++
++ if (hive || (ras && ras->supported))
++ baco_reset = false;
++ }
+ break;
+ default:
+ baco_reset = false;
+--
+2.17.1
+