aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch
new file mode 100644
index 00000000..e9e9d30e
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3424-drm-amdkfd-Simplify-counting-of-memory-banks.patch
@@ -0,0 +1,77 @@
+From fd6d40288deeacc60614f33cd02e1401440223d3 Mon Sep 17 00:00:00 2001
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+Date: Fri, 8 Dec 2017 23:08:56 -0500
+Subject: [PATCH 3424/4131] drm/amdkfd: Simplify counting of memory banks
+
+Only count memory banks in one place. Ignore redundant num_banks
+entry in crat_subtype_computeunit.
+
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +--
+ drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 14 ++------------
+ drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 1 -
+ 3 files changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+index 3171797..e62493b 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+@@ -45,7 +45,6 @@ static void kfd_populated_cu_info_gpu(struct kfd_topology_device *dev,
+ dev->node_props.lds_size_in_kb = cu->lds_size_in_kb;
+ dev->node_props.max_waves_per_simd = cu->max_waves_simd;
+ dev->node_props.wave_front_size = cu->wave_front_size;
+- dev->node_props.mem_banks_count = cu->num_banks;
+ dev->node_props.array_count = cu->num_arrays;
+ dev->node_props.cu_per_simd_array = cu->num_cu_per_array;
+ dev->node_props.simd_per_cu = cu->num_simd_per_cu;
+@@ -111,7 +110,7 @@ static int kfd_parse_subtype_mem(struct crat_subtype_memory *mem,
+ mem->length_low;
+ props->width = mem->width;
+
+- dev->mem_bank_count++;
++ dev->node_props.mem_banks_count++;
+ list_add_tail(&props->list, &dev->mem_props);
+
+ break;
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+index 001e473..17e8daf 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+@@ -335,18 +335,8 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr,
+ dev->node_props.cpu_cores_count);
+ sysfs_show_32bit_prop(buffer, "simd_count",
+ dev->node_props.simd_count);
+-
+- if (dev->mem_bank_count < dev->node_props.mem_banks_count) {
+- pr_info_once("mem_banks_count truncated from %d to %d\n",
+- dev->node_props.mem_banks_count,
+- dev->mem_bank_count);
+- sysfs_show_32bit_prop(buffer, "mem_banks_count",
+- dev->mem_bank_count);
+- } else {
+- sysfs_show_32bit_prop(buffer, "mem_banks_count",
+- dev->node_props.mem_banks_count);
+- }
+-
++ sysfs_show_32bit_prop(buffer, "mem_banks_count",
++ dev->node_props.mem_banks_count);
+ sysfs_show_32bit_prop(buffer, "caches_count",
+ dev->node_props.caches_count);
+ sysfs_show_32bit_prop(buffer, "io_links_count",
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
+index 0d98b61..17b2d43 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
+@@ -137,7 +137,6 @@ struct kfd_topology_device {
+ uint32_t gpu_id;
+ uint32_t proximity_domain;
+ struct kfd_node_properties node_props;
+- uint32_t mem_bank_count;
+ struct list_head mem_props;
+ uint32_t cache_count;
+ struct list_head cache_props;
+--
+2.7.4
+