aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch
new file mode 100644
index 00000000..b6b15805
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3946-drm-amdgpu-move-xgmi-ras-fini-to-xgmi-block.patch
@@ -0,0 +1,81 @@
+From 26ab314c0c94d8656b2b256735b7bbe5e6524f21 Mon Sep 17 00:00:00 2001
+From: Tao Zhou <tao.zhou1@amd.com>
+Date: Wed, 18 Sep 2019 17:58:14 +0800
+Subject: [PATCH 3946/4256] drm/amdgpu: move xgmi ras fini to xgmi block
+
+it's more suitable to put xgmi ras fini in xgmi block
+
+Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
+Reviewed-by: Guchun Chen <guchun.chen@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 13 ++-----------
+ drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 14 ++++++++++++++
+ drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h | 1 +
+ 3 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+index d35669e0dbac..8dc5251d346f 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+@@ -26,6 +26,7 @@
+
+ #include "amdgpu.h"
+ #include "amdgpu_ras.h"
++#include "amdgpu_xgmi.h"
+
+ /**
+ * amdgpu_gmc_get_pde_for_bo - get the PDE for a BO
+@@ -309,15 +310,5 @@ void amdgpu_gmc_ras_fini(struct amdgpu_device *adev)
+ {
+ amdgpu_umc_ras_fini(adev);
+ amdgpu_mmhub_ras_fini(adev);
+-
+- if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__XGMI_WAFL) &&
+- adev->gmc.xgmi.ras_if) {
+- struct ras_common_if *ras_if = adev->gmc.xgmi.ras_if;
+- struct ras_ih_if ih_info = {
+- .cb = NULL,
+- };
+-
+- amdgpu_ras_late_fini(adev, ras_if, &ih_info);
+- kfree(ras_if);
+- }
++ amdgpu_xgmi_ras_fini(adev);
+ }
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+index 0fa1d2416b57..ba88acdf87ec 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+@@ -472,3 +472,17 @@ int amdgpu_xgmi_ras_late_init(struct amdgpu_device *adev)
+
+ return r;
+ }
++
++void amdgpu_xgmi_ras_fini(struct amdgpu_device *adev)
++{
++ if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__XGMI_WAFL) &&
++ adev->gmc.xgmi.ras_if) {
++ struct ras_common_if *ras_if = adev->gmc.xgmi.ras_if;
++ struct ras_ih_if ih_info = {
++ .cb = NULL,
++ };
++
++ amdgpu_ras_late_fini(adev, ras_if, &ih_info);
++ kfree(ras_if);
++ }
++}
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
+index 9023789397c0..bbf504ff7051 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
+@@ -43,6 +43,7 @@ int amdgpu_xgmi_set_pstate(struct amdgpu_device *adev, int pstate);
+ int amdgpu_xgmi_get_hops_count(struct amdgpu_device *adev,
+ struct amdgpu_device *peer_adev);
+ int amdgpu_xgmi_ras_late_init(struct amdgpu_device *adev);
++void amdgpu_xgmi_ras_fini(struct amdgpu_device *adev);
+
+ static inline bool amdgpu_xgmi_same_hive(struct amdgpu_device *adev,
+ struct amdgpu_device *bo_adev)
+--
+2.17.1
+