diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3942-drm-amdgpu-add-ras-fini-for-nbio.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3942-drm-amdgpu-add-ras-fini-for-nbio.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3942-drm-amdgpu-add-ras-fini-for-nbio.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3942-drm-amdgpu-add-ras-fini-for-nbio.patch new file mode 100644 index 00000000..25d11997 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3942-drm-amdgpu-add-ras-fini-for-nbio.patch @@ -0,0 +1,63 @@ +From 338a97d4f5bb1371a8d886539d426d34d4eb1e64 Mon Sep 17 00:00:00 2001 +From: Tao Zhou <tao.zhou1@amd.com> +Date: Wed, 18 Sep 2019 17:30:50 +0800 +Subject: [PATCH 3942/4256] drm/amdgpu: add ras fini for nbio + +add a common nbio ras fini implementation to cleanup nbio ras framework + +Signed-off-by: Tao Zhou <tao.zhou1@amd.com> +Reviewed-by: Guchun Chen <guchun.chen@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c | 14 ++++++++++++++ + drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h | 2 +- + drivers/gpu/drm/amd/amdgpu/soc15.c | 1 + + 3 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c +index 65373ad03763..7d5c3a9de9ea 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c +@@ -68,3 +68,17 @@ int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev) + adev->nbio.ras_if = NULL; + return r; + } ++ ++void amdgpu_nbio_ras_fini(struct amdgpu_device *adev) ++{ ++ if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__PCIE_BIF) && ++ adev->nbio.ras_if) { ++ struct ras_common_if *ras_if = adev->nbio.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_nbio.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h +index 9e26b81ba6ad..1f26a17e6561 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h +@@ -95,5 +95,5 @@ struct amdgpu_nbio { + }; + + int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev); +- ++void amdgpu_nbio_ras_fini(struct amdgpu_device *adev); + #endif +diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c +index a66ef0460762..14c7fc141322 100644 +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -1247,6 +1247,7 @@ static int soc15_common_sw_fini(void *handle) + { + struct amdgpu_device *adev = (struct amdgpu_device *)handle; + ++ amdgpu_nbio_ras_fini(adev); + adev->df_funcs->sw_fini(adev); + return 0; + } +-- +2.17.1 + |