diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2755-drm-amdkfd-add-RAS-capabilities-in-topology-for-Vega.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2755-drm-amdkfd-add-RAS-capabilities-in-topology-for-Vega.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2755-drm-amdkfd-add-RAS-capabilities-in-topology-for-Vega.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2755-drm-amdkfd-add-RAS-capabilities-in-topology-for-Vega.patch new file mode 100644 index 00000000..6169ab3a --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2755-drm-amdkfd-add-RAS-capabilities-in-topology-for-Vega.patch @@ -0,0 +1,73 @@ +From b5f14d660084b63856df1e1326265c0cde99a048 Mon Sep 17 00:00:00 2001 +From: Eric Huang <JinhuiEric.Huang@amd.com> +Date: Fri, 11 Jan 2019 14:52:22 -0500 +Subject: [PATCH 2755/2940] drm/amdkfd: add RAS capabilities in topology for + Vega20 + +It is to collaborate with HSA_CAPABILITY in libhsakmt. + +Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com> +Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 14 ++++++++++++++ + drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 4 ++++ + 2 files changed, 18 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +index f0b415eac7cb..68f80e968f58 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +@@ -37,6 +37,7 @@ + #include "kfd_device_queue_manager.h" + #include "kfd_iommu.h" + #include "amdgpu_amdkfd.h" ++#include "amdgpu_ras.h" + + /* topology_device_list - Master list of all topology devices */ + static struct list_head topology_device_list; +@@ -1274,6 +1275,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu) + void *crat_image = NULL; + size_t image_size = 0; + int proximity_domain; ++ struct amdgpu_ras *ctx; + + INIT_LIST_HEAD(&temp_topology_device_list); + +@@ -1414,6 +1416,18 @@ int kfd_topology_add_device(struct kfd_dev *gpu) + dev->node_props.capability |= HSA_CAP_ATS_PRESENT; + } + ++ ctx = amdgpu_ras_get_context((struct amdgpu_device *)(dev->gpu->kgd)); ++ /* kfd only concerns sram ecc on GFX/SDMA and HBM ecc on UMC */ ++ dev->node_props.capability |= ++ (((ctx->features & BIT(AMDGPU_RAS_BLOCK__SDMA)) != 0) || ++ ((ctx->features & BIT(AMDGPU_RAS_BLOCK__GFX)) != 0)) ? ++ HSA_CAP_SRAM_EDCSUPPORTED : 0; ++ dev->node_props.capability |= ((ctx->features & BIT(AMDGPU_RAS_BLOCK__UMC)) != 0) ? ++ HSA_CAP_MEM_EDCSUPPORTED : 0; ++ ++ dev->node_props.capability |= (ctx->features != 0) ? ++ HSA_CAP_RASEVENTNOTIFY : 0; ++ + kfd_debug_print_topology(); + + if (!res) +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h +index 5b57801068b1..af0aba3c4561 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h +@@ -53,6 +53,10 @@ + + #define HSA_DBG_TRAP_DEBUG_TRAP_DATA_COUNT 0x00008000 + ++#define HSA_CAP_SRAM_EDCSUPPORTED 0x00080000 ++#define HSA_CAP_MEM_EDCSUPPORTED 0x00100000 ++#define HSA_CAP_RASEVENTNOTIFY 0x00200000 ++ + struct kfd_node_properties { + uint64_t hive_id; + uint32_t cpu_cores_count; +-- +2.17.1 + |