aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Kuehling <Felix.Kuehling@amd.com>2017-12-08 23:08:56 -0500
committerOded Gabbay <oded.gabbay@gmail.com>2017-12-08 23:08:56 -0500
commit175b926335c9ce30a531b7a162dde055e7182cbe (patch)
tree04671edbbb60ba1a0b5906438509a5f34c8843b7
parent42aa8793d795f18d20be3d5505b39aeffa44a954 (diff)
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>
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_crat.c3
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_topology.c14
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_topology.h1
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 31717971d8dd..e62493b39041 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,
45 dev->node_props.lds_size_in_kb = cu->lds_size_in_kb; 45 dev->node_props.lds_size_in_kb = cu->lds_size_in_kb;
46 dev->node_props.max_waves_per_simd = cu->max_waves_simd; 46 dev->node_props.max_waves_per_simd = cu->max_waves_simd;
47 dev->node_props.wave_front_size = cu->wave_front_size; 47 dev->node_props.wave_front_size = cu->wave_front_size;
48 dev->node_props.mem_banks_count = cu->num_banks;
49 dev->node_props.array_count = cu->num_arrays; 48 dev->node_props.array_count = cu->num_arrays;
50 dev->node_props.cu_per_simd_array = cu->num_cu_per_array; 49 dev->node_props.cu_per_simd_array = cu->num_cu_per_array;
51 dev->node_props.simd_per_cu = cu->num_simd_per_cu; 50 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,
111 mem->length_low; 110 mem->length_low;
112 props->width = mem->width; 111 props->width = mem->width;
113 112
114 dev->mem_bank_count++; 113 dev->node_props.mem_banks_count++;
115 list_add_tail(&props->list, &dev->mem_props); 114 list_add_tail(&props->list, &dev->mem_props);
116 115
117 break; 116 break;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
index 001e47336ab5..17e8daf96b4f 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,
335 dev->node_props.cpu_cores_count); 335 dev->node_props.cpu_cores_count);
336 sysfs_show_32bit_prop(buffer, "simd_count", 336 sysfs_show_32bit_prop(buffer, "simd_count",
337 dev->node_props.simd_count); 337 dev->node_props.simd_count);
338 338 sysfs_show_32bit_prop(buffer, "mem_banks_count",
339 if (dev->mem_bank_count < dev->node_props.mem_banks_count) { 339 dev->node_props.mem_banks_count);
340 pr_info_once("mem_banks_count truncated from %d to %d\n",
341 dev->node_props.mem_banks_count,
342 dev->mem_bank_count);
343 sysfs_show_32bit_prop(buffer, "mem_banks_count",
344 dev->mem_bank_count);
345 } else {
346 sysfs_show_32bit_prop(buffer, "mem_banks_count",
347 dev->node_props.mem_banks_count);
348 }
349
350 sysfs_show_32bit_prop(buffer, "caches_count", 340 sysfs_show_32bit_prop(buffer, "caches_count",
351 dev->node_props.caches_count); 341 dev->node_props.caches_count);
352 sysfs_show_32bit_prop(buffer, "io_links_count", 342 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 0d98b61b3312..17b2d4383bf9 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 {
137 uint32_t gpu_id; 137 uint32_t gpu_id;
138 uint32_t proximity_domain; 138 uint32_t proximity_domain;
139 struct kfd_node_properties node_props; 139 struct kfd_node_properties node_props;
140 uint32_t mem_bank_count;
141 struct list_head mem_props; 140 struct list_head mem_props;
142 uint32_t cache_count; 141 uint32_t cache_count;
143 struct list_head cache_props; 142 struct list_head cache_props;