diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3195-drm-amdgpu-move-some-ras-data-structure-to-amdgpu_ra.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3195-drm-amdgpu-move-some-ras-data-structure-to-amdgpu_ra.patch | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3195-drm-amdgpu-move-some-ras-data-structure-to-amdgpu_ra.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3195-drm-amdgpu-move-some-ras-data-structure-to-amdgpu_ra.patch new file mode 100644 index 00000000..8545efcc --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3195-drm-amdgpu-move-some-ras-data-structure-to-amdgpu_ra.patch @@ -0,0 +1,179 @@ +From d4fb3e00b06342beb8228a8c8142efcf32e37d3d Mon Sep 17 00:00:00 2001 +From: Hawking Zhang <Hawking.Zhang@amd.com> +Date: Wed, 17 Jul 2019 17:34:46 +0800 +Subject: [PATCH 3195/4256] drm/amdgpu: move some ras data structure to + amdgpu_ras.h + +These are common structures that can be included by IP specific +source files + +Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> +Reviewed-by: Dennis Li <dennis.li@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 68 ------------------------ + drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 69 ++++++++++++++++++++++++- + 2 files changed, 68 insertions(+), 69 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +index b45aaf04a574..3be306bf1603 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +@@ -28,74 +28,6 @@ + #include "amdgpu_ras.h" + #include "amdgpu_atomfirmware.h" + +-struct ras_ih_data { +- /* interrupt bottom half */ +- struct work_struct ih_work; +- int inuse; +- /* IP callback */ +- ras_ih_cb cb; +- /* full of entries */ +- unsigned char *ring; +- unsigned int ring_size; +- unsigned int element_size; +- unsigned int aligned_element_size; +- unsigned int rptr; +- unsigned int wptr; +-}; +- +-struct ras_fs_data { +- char sysfs_name[32]; +- char debugfs_name[32]; +-}; +- +-struct ras_err_data { +- unsigned long ue_count; +- unsigned long ce_count; +-}; +- +-struct ras_err_handler_data { +- /* point to bad pages array */ +- struct { +- unsigned long bp; +- struct amdgpu_bo *bo; +- } *bps; +- /* the count of entries */ +- int count; +- /* the space can place new entries */ +- int space_left; +- /* last reserved entry's index + 1 */ +- int last_reserved; +-}; +- +-struct ras_manager { +- struct ras_common_if head; +- /* reference count */ +- int use; +- /* ras block link */ +- struct list_head node; +- /* the device */ +- struct amdgpu_device *adev; +- /* debugfs */ +- struct dentry *ent; +- /* sysfs */ +- struct device_attribute sysfs_attr; +- int attr_inuse; +- +- /* fs node name */ +- struct ras_fs_data fs_data; +- +- /* IH data */ +- struct ras_ih_data ih_data; +- +- struct ras_err_data err_data; +-}; +- +-struct ras_badpage { +- unsigned int bp; +- unsigned int size; +- unsigned int flags; +-}; +- + const char *ras_error_string[] = { + "none", + "parity", +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h +index b2841195bd3b..80e94d604a2e 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h +@@ -108,8 +108,75 @@ struct amdgpu_ras { + uint32_t flags; + }; + +-/* interfaces for IP */ ++struct ras_ih_data { ++ /* interrupt bottom half */ ++ struct work_struct ih_work; ++ int inuse; ++ /* IP callback */ ++ ras_ih_cb cb; ++ /* full of entries */ ++ unsigned char *ring; ++ unsigned int ring_size; ++ unsigned int element_size; ++ unsigned int aligned_element_size; ++ unsigned int rptr; ++ unsigned int wptr; ++}; ++ ++struct ras_fs_data { ++ char sysfs_name[32]; ++ char debugfs_name[32]; ++}; ++ ++struct ras_err_data { ++ unsigned long ue_count; ++ unsigned long ce_count; ++}; ++ ++struct ras_err_handler_data { ++ /* point to bad pages array */ ++ struct { ++ unsigned long bp; ++ struct amdgpu_bo *bo; ++ } *bps; ++ /* the count of entries */ ++ int count; ++ /* the space can place new entries */ ++ int space_left; ++ /* last reserved entry's index + 1 */ ++ int last_reserved; ++}; + ++struct ras_manager { ++ struct ras_common_if head; ++ /* reference count */ ++ int use; ++ /* ras block link */ ++ struct list_head node; ++ /* the device */ ++ struct amdgpu_device *adev; ++ /* debugfs */ ++ struct dentry *ent; ++ /* sysfs */ ++ struct device_attribute sysfs_attr; ++ int attr_inuse; ++ ++ /* fs node name */ ++ struct ras_fs_data fs_data; ++ ++ /* IH data */ ++ struct ras_ih_data ih_data; ++ ++ struct ras_err_data err_data; ++}; ++ ++struct ras_badpage { ++ unsigned int bp; ++ unsigned int size; ++ unsigned int flags; ++}; ++ ++/* interfaces for IP */ + struct ras_fs_if { + struct ras_common_if head; + char sysfs_name[32]; +-- +2.17.1 + |