Support cache type in cache info

Add the cache type to the cache info.

Change-Id: Ic13ca9640b65d2b414eeebe7b884530f2036aac8
This commit is contained in:
Bill(Shuzhou) Liu
2023-11-01 10:29:17 -05:00
committed by Maisam Arif
parent 3e3a233e49
commit 56b246cc3c
5 changed files with 48 additions and 3 deletions
+17
View File
@@ -510,12 +510,29 @@ amdsmi_status_t amdsmi_get_gpu_cache_info(
processor_handle, &rsmi_info);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
// Sysfs cache type
#define HSA_CACHE_TYPE_DATA 0x00000001
#define HSA_CACHE_TYPE_INSTRUCTION 0x00000002
#define HSA_CACHE_TYPE_CPU 0x00000004
#define HSA_CACHE_TYPE_HSACU 0x00000008
info->num_cache_types = rsmi_info.num_cache_types;
for (unsigned int i =0; i < rsmi_info.num_cache_types; i++) {
info->cache[i].cache_size_kb = rsmi_info.cache[i].cache_size_kb;
info->cache[i].cache_level = rsmi_info.cache[i].cache_level;
// convert from sysfs type to CRAT type(HSA Cache Affinity type)
info->cache[i].flags = 0;
if (rsmi_info.cache[i].flags & HSA_CACHE_TYPE_DATA)
info->cache[i].flags |= CACHE_FLAGS_DATA_CACHE;
if (rsmi_info.cache[i].flags & HSA_CACHE_TYPE_INSTRUCTION)
info->cache[i].flags |= CACHE_FLAGS_INST_CACHE;
if (rsmi_info.cache[i].flags & HSA_CACHE_TYPE_CPU)
info->cache[i].flags |= CACHE_FLAGS_CPU_CACHE;
if (rsmi_info.cache[i].flags & HSA_CACHE_TYPE_HSACU)
info->cache[i].flags |= CACHE_FLAGS_SIMD_CACHE;
}
return AMDSMI_STATUS_SUCCESS;
}