pcache_info
struct kfd_gpu_cache_info *pcache_info)
pcache_info[i].cache_size = adev->gfx.config.gc_tcp_l1_size;
pcache_info[i].cache_level = 1;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_tcp_per_wpg / 2;
pcache_info[i].cache_line_size = adev->gfx.config.gc_tcp_cache_line_size;
if (cache_line_size_missing && !pcache_info[i].cache_line_size)
pcache_info[i].cache_line_size = 128;
pcache_info[i].cache_size =
pcache_info[i].cache_level = 1;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
pcache_info[i].cache_line_size = adev->gfx.config.gc_instruction_cache_line_size;
if (cache_line_size_missing && !pcache_info[i].cache_line_size)
pcache_info[i].cache_line_size = 128;
pcache_info[i].cache_size = adev->gfx.config.gc_l1_data_cache_size_per_sqc;
pcache_info[i].cache_level = 1;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
pcache_info[i].cache_line_size = adev->gfx.config.gc_scalar_data_cache_line_size;
if (cache_line_size_missing && !pcache_info[i].cache_line_size)
pcache_info[i].cache_line_size = 64;
pcache_info[i].cache_size = adev->gfx.config.gc_gl1c_per_sa *
pcache_info[i].cache_level = 1;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
pcache_info[i].cache_line_size = 128;
pcache_info[i].cache_size = adev->gfx.config.gc_gl2c_per_gpu;
pcache_info[i].cache_level = 2;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
pcache_info[i].cache_line_size = adev->gfx.config.gc_tcc_cache_line_size;
if (cache_line_size_missing && !pcache_info[i].cache_line_size)
pcache_info[i].cache_line_size = 128;
pcache_info[i].cache_size = adev->gmc.mall_size / 1024;
pcache_info[i].cache_level = 3;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
pcache_info[i].cache_line_size = 64;
struct kfd_gpu_cache_info *pcache_info)
pcache_info[i].cache_size = adev->gfx.config.gc_tcp_size_per_cu;
pcache_info[i].cache_level = 1;
pcache_info[i].cache_line_size = 128;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = 1;
pcache_info[i].cache_size =
pcache_info[i].cache_level = 1;
pcache_info[i].cache_line_size = 64;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_cu_per_sqc;
pcache_info[i].cache_size = adev->gfx.config.gc_l1_data_cache_size_per_sqc;
pcache_info[i].cache_level = 1;
pcache_info[i].cache_line_size = 64;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_cu_per_sqc;
pcache_info[i].cache_size = adev->gfx.config.gc_tcc_size;
pcache_info[i].cache_level = 2;
pcache_info[i].cache_line_size = 128;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
pcache_info[i].cache_size = adev->gmc.mall_size / 1024;
pcache_info[i].cache_level = 3;
pcache_info[i].cache_line_size = 64;
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
int kfd_get_gpu_cache_info(struct kfd_node *kdev, struct kfd_gpu_cache_info **pcache_info)
*pcache_info = kaveri_cache_info;
*pcache_info = hawaii_cache_info;
*pcache_info = carrizo_cache_info;
*pcache_info = tonga_cache_info;
*pcache_info = fiji_cache_info;
*pcache_info = polaris10_cache_info;
*pcache_info = polaris11_cache_info;
*pcache_info = polaris12_cache_info;
*pcache_info = vegam_cache_info;
*pcache_info = vega10_cache_info;
*pcache_info = vega12_cache_info;
*pcache_info = vega20_cache_info;
*pcache_info = aldebaran_cache_info;
*pcache_info);
*pcache_info = raven_cache_info;
*pcache_info = renoir_cache_info;
*pcache_info = navi10_cache_info;
*pcache_info = navi14_cache_info;
*pcache_info = sienna_cichlid_cache_info;
*pcache_info = navy_flounder_cache_info;
*pcache_info = dimgrey_cavefish_cache_info;
*pcache_info = vangogh_cache_info;
*pcache_info = beige_goby_cache_info;
*pcache_info = yellow_carp_cache_info;
*pcache_info = gc_10_3_6_cache_info;
*pcache_info = gfx1037_cache_info;
*pcache_info);
*pcache_info = dummy_cache_info;
int kfd_get_gpu_cache_info(struct kfd_node *kdev, struct kfd_gpu_cache_info **pcache_info);
struct kfd_gpu_cache_info *pcache_info,
cu_sibling_map_mask &= ((1 << pcache_info[cache_type].num_cu_shared) - 1);
pcache->cache_level = pcache_info[cache_type].cache_level;
pcache->cache_size = pcache_info[cache_type].cache_size;
pcache->cacheline_size = pcache_info[cache_type].cache_line_size;
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_DATA_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_INST_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_CPU_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_SIMD_CACHE)
struct kfd_gpu_cache_info *pcache_info,
((1 << pcache_info[cache_type].num_cu_shared) - 1);
pcache->cache_level = pcache_info[cache_type].cache_level;
pcache->cacheline_size = pcache_info[cache_type].cache_line_size;
pcache->cache_size = pcache_info[cache_type].cache_size;
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_DATA_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_INST_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_CPU_CACHE)
if (pcache_info[cache_type].flags & CRAT_CACHE_FLAGS_SIMD_CACHE)
cu_sibling_map_mask &= ((1 << pcache_info[cache_type].num_cu_shared) - 1);
struct kfd_gpu_cache_info *pcache_info = NULL;
pcache_info = cache_info;
num_of_cache_types = kfd_get_gpu_cache_info(kdev, &pcache_info);
if (pcache_info[ct].cache_level == 1) {
for (k = 0; k < gfx_info->max_cu_per_sh; k += pcache_info[ct].num_cu_shared) {
ret = fill_in_l1_pcache(&props_ext, pcache_info,
num_cu_shared = ((k + pcache_info[ct].num_cu_shared) <=
pcache_info[ct].num_cu_shared :
ret = fill_in_l2_l3_pcache(&props_ext, pcache_info,
pcache_info("%s " fmt, pcache->ti->table->md->name, ##__VA_ARGS__)