aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch
new file mode 100644
index 00000000..5b608446
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1509-drm-amdgpu-add-psp-ras-callback-func-and-macro.patch
@@ -0,0 +1,53 @@
+From 2ab7d828658067d6f928624fd65a853d9b42f983 Mon Sep 17 00:00:00 2001
+From: xinhui pan <xinhui.pan@amd.com>
+Date: Tue, 30 Oct 2018 13:44:46 +0800
+Subject: [PATCH 1509/2940] drm/amdgpu: add psp ras callback func and macro
+
+Define the driver side interface for ras ta.
+
+Acked-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Signed-off-by: xinhui pan <xinhui.pan@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
+index 49c3942e469c..3e6fcc9cdef0 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
+@@ -28,6 +28,7 @@
+ #include "amdgpu.h"
+ #include "psp_gfx_if.h"
+ #include "ta_xgmi_if.h"
++#include "ta_ras_if.h"
+
+ #define PSP_FENCE_BUFFER_SIZE 0x1000
+ #define PSP_CMD_BUFFER_SIZE 0x1000
+@@ -88,6 +89,9 @@ struct psp_funcs
+ int (*xgmi_set_topology_info)(struct psp_context *psp, int number_devices,
+ struct psp_xgmi_topology_info *topology);
+ bool (*support_vmr_ring)(struct psp_context *psp);
++ int (*ras_trigger_error)(struct psp_context *psp,
++ struct ta_ras_trigger_error_input *info);
++ int (*ras_cure_posion)(struct psp_context *psp, uint64_t *mode_ptr);
+ };
+
+ struct psp_xgmi_context {
+@@ -211,6 +215,13 @@ struct psp_xgmi_topology_info {
+
+ #define amdgpu_psp_check_fw_loading_status(adev, i) (adev)->firmware.funcs->check_fw_loading_status((adev), (i))
+
++#define psp_ras_trigger_error(psp, info) \
++ ((psp)->funcs->ras_trigger_error ? \
++ (psp)->funcs->ras_trigger_error((psp), (info)) : -EINVAL)
++#define psp_ras_cure_posion(psp, addr) \
++ ((psp)->funcs->ras_cure_posion ? \
++ (psp)->funcs->ras_cure_posion(psp, (addr)) : -EINVAL)
++
+ extern const struct amd_ip_funcs psp_ip_funcs;
+
+ extern const struct amdgpu_ip_block_version psp_v3_1_ip_block;
+--
+2.17.1
+