diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3944-drm-amdgpu-move-umc-ras-fini-to-umc-block.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3944-drm-amdgpu-move-umc-ras-fini-to-umc-block.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3944-drm-amdgpu-move-umc-ras-fini-to-umc-block.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3944-drm-amdgpu-move-umc-ras-fini-to-umc-block.patch new file mode 100644 index 00000000..dc0e8f1e --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3944-drm-amdgpu-move-umc-ras-fini-to-umc-block.patch @@ -0,0 +1,79 @@ +From 610b3a7fe70518a412ff5f4d8c5d379f9710d1f4 Mon Sep 17 00:00:00 2001 +From: Tao Zhou <tao.zhou1@amd.com> +Date: Wed, 18 Sep 2019 17:46:42 +0800 +Subject: [PATCH 3944/4256] drm/amdgpu: move umc ras fini to umc block + +it's more suitable to put umc ras fini in umc 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 | 12 +----------- + drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c | 15 +++++++++++++++ + drivers/gpu/drm/amd/amdgpu/amdgpu_umc.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 4cd206ee3e0b..bf8084deb028 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +@@ -307,17 +307,7 @@ bool amdgpu_gmc_filter_faults(struct amdgpu_device *adev, uint64_t addr, + + void amdgpu_gmc_ras_fini(struct amdgpu_device *adev) + { +- if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__UMC) && +- adev->umc.ras_if) { +- struct ras_common_if *ras_if = adev->umc.ras_if; +- struct ras_ih_if ih_info = { +- .head = *ras_if, +- .cb = amdgpu_umc_process_ras_data_cb, +- }; +- +- amdgpu_ras_late_fini(adev, ras_if, &ih_info); +- kfree(ras_if); +- } ++ amdgpu_umc_ras_fini(adev); + + if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__MMHUB) && + adev->mmhub.ras_if) { +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c +index 08037f086d28..7744de149949 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c +@@ -74,6 +74,21 @@ int amdgpu_umc_ras_late_init(struct amdgpu_device *adev) + return r; + } + ++void amdgpu_umc_ras_fini(struct amdgpu_device *adev) ++{ ++ if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__UMC) && ++ adev->umc.ras_if) { ++ struct ras_common_if *ras_if = adev->umc.ras_if; ++ struct ras_ih_if ih_info = { ++ .head = *ras_if, ++ .cb = amdgpu_umc_process_ras_data_cb, ++ }; ++ ++ amdgpu_ras_late_fini(adev, ras_if, &ih_info); ++ kfree(ras_if); ++ } ++} ++ + int amdgpu_umc_process_ras_data_cb(struct amdgpu_device *adev, + void *ras_error_status, + struct amdgpu_iv_entry *entry) +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h +index 8cc9852e99e6..3283032a78e5 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h +@@ -83,6 +83,7 @@ struct amdgpu_umc { + }; + + int amdgpu_umc_ras_late_init(struct amdgpu_device *adev); ++void amdgpu_umc_ras_fini(struct amdgpu_device *adev); + int amdgpu_umc_process_ras_data_cb(struct amdgpu_device *adev, + void *ras_error_status, + struct amdgpu_iv_entry *entry); +-- +2.17.1 + |