diff options
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.patch | 81 |
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 + |