diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1133-drm-amdkfd-Hawaii-doesn-t-support-atomics.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1133-drm-amdkfd-Hawaii-doesn-t-support-atomics.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1133-drm-amdkfd-Hawaii-doesn-t-support-atomics.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1133-drm-amdkfd-Hawaii-doesn-t-support-atomics.patch new file mode 100644 index 00000000..d82baccc --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1133-drm-amdkfd-Hawaii-doesn-t-support-atomics.patch @@ -0,0 +1,53 @@ +From ea752b9af39ba414e529579dacf37c70ee726533 Mon Sep 17 00:00:00 2001 +From: Amber Lin <Amber.Lin@amd.com> +Date: Mon, 16 May 2016 18:34:37 -0400 +Subject: [PATCH 1133/4131] drm/amdkfd: Hawaii doesn't support atomics + +Hawaii doesn't support atomics on system memory. Put this information in IO +link flags. + +BUG: KFD-239 + +Change-Id: I5bf0e5e32ac4f2a3c9431328b68b75754e7f1d6d +Signed-off-by: Amber Lin <Amber.Lin@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +index 4e34ffd..8253036 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +@@ -1004,6 +1004,21 @@ static void kfd_fill_mem_clk_max_info(struct kfd_topology_device *dev) + mem->mem_clk_max = local_mem_info.mem_clk_max; + } + ++static void kfd_fill_iolink_non_crat_info(struct kfd_topology_device *dev) ++{ ++ struct kfd_iolink_properties *link; ++ ++ if ((dev == NULL) || (dev->gpu == NULL)) ++ return; ++ ++ /* GPU only creates direck links so apply flags setting to all */ ++ if (dev->gpu->device_info->asic_family == CHIP_HAWAII) ++ list_for_each_entry(link, &dev->io_link_props, list) ++ link->flags = CRAT_IOLINK_FLAGS_ENABLED | ++ CRAT_IOLINK_FLAGS_NO_ATOMICS_32_BIT | ++ CRAT_IOLINK_FLAGS_NO_ATOMICS_64_BIT; ++} ++ + int kfd_topology_add_device(struct kfd_dev *gpu) + { + uint32_t gpu_id; +@@ -1086,6 +1101,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu) + cpufreq_quick_get_max(0) / 1000; + + kfd_fill_mem_clk_max_info(dev); ++ kfd_fill_iolink_non_crat_info(dev); + + switch (dev->gpu->device_info->asic_family) { + case CHIP_KAVERI: +-- +2.7.4 + |