/openbmc/linux/drivers/base/ |
H A D | cacheinfo.c | 39 static inline bool cache_leaves_are_shared(struct cacheinfo *this_leaf, in cache_leaves_are_shared() argument 48 return (this_leaf->level != 1) && (sib_leaf->level != 1); in cache_leaves_are_shared() 51 (this_leaf->attributes & CACHE_ID)) in cache_leaves_are_shared() 52 return sib_leaf->id == this_leaf->id; in cache_leaves_are_shared() 54 return sib_leaf->fw_token == this_leaf->fw_token; in cache_leaves_are_shared() 121 static void cache_size(struct cacheinfo *this_leaf, struct device_node *np) in cache_size() argument 126 ct_idx = get_cacheinfo_idx(this_leaf->type); in cache_size() 129 of_property_read_u32(np, propname, &this_leaf->size); in cache_size() 133 static void cache_get_line_size(struct cacheinfo *this_leaf, in cache_get_line_size() argument 138 ct_idx = get_cacheinfo_idx(this_leaf->type); in cache_get_line_size() [all …]
|
/openbmc/linux/arch/riscv/kernel/ |
H A D | cacheinfo.c | 20 cache_get_priv_group(struct cacheinfo *this_leaf) in cache_get_priv_group() 23 return rv_cache_ops->get_priv_group(this_leaf); in cache_get_priv_group() 39 struct cacheinfo *this_leaf; in get_cacheinfo() 43 this_leaf = this_cpu_ci->info_list + index; in get_cacheinfo() 44 if (this_leaf->level == level && this_leaf->type == type) in get_cacheinfo() 45 return this_leaf; in get_cacheinfo() 53 struct cacheinfo *this_leaf = get_cacheinfo(level, type); in get_cache_size() 55 return this_leaf ? this_leaf in get_cache_size() 19 cache_get_priv_group(struct cacheinfo * this_leaf) cache_get_priv_group() argument 38 struct cacheinfo *this_leaf; get_cacheinfo() local 52 struct cacheinfo *this_leaf = get_cacheinfo(level, type); get_cache_size() local 59 struct cacheinfo *this_leaf = get_cacheinfo(level, type); get_cache_geometry() local 66 ci_leaf_init(struct cacheinfo * this_leaf,struct device_node * node,enum cache_type type,unsigned int level) ci_leaf_init() argument 77 struct cacheinfo *this_leaf = this_cpu_ci->info_list; populate_cache_leaves() local [all...] |
/openbmc/linux/arch/loongarch/kernel/ |
H A D | cacheinfo.c | 24 static inline bool cache_leaves_are_shared(struct cacheinfo *this_leaf, in cache_leaves_are_shared() argument 27 return (!(*(unsigned char *)(this_leaf->priv) & CACHE_PRIVATE) in cache_leaves_are_shared() 34 struct cacheinfo *this_leaf, *sib_leaf; in cache_cpumap_setup() local 40 this_leaf = this_cpu_ci->info_list + index; in cache_cpumap_setup() 42 if (!cpumask_empty(&this_leaf->shared_cpu_map)) in cache_cpumap_setup() 45 cpumask_set_cpu(cpu, &this_leaf->shared_cpu_map); in cache_cpumap_setup() 54 if (cache_leaves_are_shared(this_leaf, sib_leaf)) { in cache_cpumap_setup() 56 cpumask_set_cpu(i, &this_leaf->shared_cpu_map); in cache_cpumap_setup() 66 struct cacheinfo *this_leaf = this_cpu_ci->info_list; in populate_cache_leaves() local 72 this_leaf->type = cd->type; in populate_cache_leaves() [all …]
|
/openbmc/linux/arch/ia64/kernel/ |
H A D | topology.c | 128 struct cache_info * this_leaf) in cache_shared_cpu_map_setup() argument 136 cpumask_set_cpu(cpu, &this_leaf->shared_cpu_map); in cache_shared_cpu_map_setup() 140 if (ia64_pal_cache_shared_info(this_leaf->level, in cache_shared_cpu_map_setup() 141 this_leaf->type, in cache_shared_cpu_map_setup() 152 cpumask_set_cpu(j, &this_leaf->shared_cpu_map); in cache_shared_cpu_map_setup() 156 ia64_pal_cache_shared_info(this_leaf->level, in cache_shared_cpu_map_setup() 157 this_leaf->type, in cache_shared_cpu_map_setup() 163 struct cache_info * this_leaf) in cache_shared_cpu_map_setup() argument 165 cpumask_set_cpu(cpu, &this_leaf->shared_cpu_map); in cache_shared_cpu_map_setup() 170 static ssize_t show_coherency_line_size(struct cache_info *this_leaf, in show_coherency_line_size() argument [all …]
|
/openbmc/linux/arch/x86/kernel/cpu/ |
H A D | cacheinfo.c | 364 static ssize_t show_cache_disable(struct cacheinfo *this_leaf, char *buf, in show_cache_disable() argument 368 struct amd_northbridge *nb = this_leaf->priv; in show_cache_disable() 382 struct cacheinfo *this_leaf = dev_get_drvdata(dev); \ 383 return show_cache_disable(this_leaf, buf, slot); \ 450 static ssize_t store_cache_disable(struct cacheinfo *this_leaf, in store_cache_disable() argument 456 struct amd_northbridge *nb = this_leaf->priv; in store_cache_disable() 461 cpu = cpumask_first(&this_leaf->shared_cpu_map); in store_cache_disable() 482 struct cacheinfo *this_leaf = dev_get_drvdata(dev); \ 483 return store_cache_disable(this_leaf, buf, count, slot); \ 491 struct cacheinfo *this_leaf in subcaches_show() local 501 struct cacheinfo *this_leaf = dev_get_drvdata(dev); subcaches_store() local 526 struct cacheinfo *this_leaf = dev_get_drvdata(dev); cache_private_attrs_is_visible() local 577 cache_get_priv_group(struct cacheinfo * this_leaf) cache_get_priv_group() argument 590 amd_init_l3_cache(struct _cpuid4_info_regs * this_leaf,int index) amd_init_l3_cache() argument 608 cpuid4_cache_lookup_regs(int index,struct _cpuid4_info_regs * this_leaf) cpuid4_cache_lookup_regs() argument 761 struct _cpuid4_info_regs this_leaf = {}; init_intel_cacheinfo() local 894 struct cacheinfo *this_leaf; __cache_amd_cpumap_setup() local 951 struct cacheinfo *this_leaf, *sibling_leaf; __cache_cpumap_setup() local 983 ci_leaf_init(struct cacheinfo * this_leaf,struct _cpuid4_info_regs * base) ci_leaf_init() argument 1034 struct cacheinfo *this_leaf = this_cpu_ci->info_list; populate_cache_leaves() local [all...] |
/openbmc/linux/arch/s390/kernel/ |
H A D | cache.c | 103 static void ci_leaf_init(struct cacheinfo *this_leaf, int private, in ci_leaf_init() argument 112 this_leaf->level = level + 1; in ci_leaf_init() 113 this_leaf->type = type; in ci_leaf_init() 114 this_leaf->coherency_line_size = ecag(EXTRACT_LINE_SIZE, level, ti); in ci_leaf_init() 115 this_leaf->ways_of_associativity = ecag(EXTRACT_ASSOCIATIVITY, level, ti); in ci_leaf_init() 116 this_leaf->size = ecag(EXTRACT_SIZE, level, ti); in ci_leaf_init() 117 num_sets = this_leaf->size / this_leaf->coherency_line_size; in ci_leaf_init() 118 num_sets /= this_leaf->ways_of_associativity; in ci_leaf_init() 119 this_leaf->number_of_sets = num_sets; in ci_leaf_init() 120 cpumask_set_cpu(cpu, &this_leaf->shared_cpu_map); in ci_leaf_init() [all …]
|
/openbmc/linux/arch/mips/kernel/ |
H A D | cacheinfo.c | 81 struct cacheinfo *this_leaf = this_cpu_ci->info_list; in populate_cache_leaves() local 86 fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); in populate_cache_leaves() 87 populate_cache(dcache, this_leaf, level, CACHE_TYPE_DATA); in populate_cache_leaves() 88 fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); in populate_cache_leaves() 89 populate_cache(icache, this_leaf, level, CACHE_TYPE_INST); in populate_cache_leaves() 92 populate_cache(dcache, this_leaf, level, CACHE_TYPE_UNIFIED); in populate_cache_leaves() 98 fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); in populate_cache_leaves() 99 populate_cache(vcache, this_leaf, level, CACHE_TYPE_UNIFIED); in populate_cache_leaves() 105 fill_cpumask_cluster(cpu, &this_leaf->shared_cpu_map); in populate_cache_leaves() 106 populate_cache(scache, this_leaf, level, CACHE_TYPE_UNIFIED); in populate_cache_leaves() [all …]
|
/openbmc/linux/drivers/acpi/ |
H A D | pptt.c | 357 static void update_cache_properties(struct cacheinfo *this_leaf, in update_cache_properties() argument 364 this_leaf->fw_token = cpu_node; in update_cache_properties() 366 this_leaf->size = found_cache->size; in update_cache_properties() 368 this_leaf->coherency_line_size = found_cache->line_size; in update_cache_properties() 370 this_leaf->number_of_sets = found_cache->number_of_sets; in update_cache_properties() 372 this_leaf->ways_of_associativity = found_cache->associativity; in update_cache_properties() 376 this_leaf->attributes = CACHE_WRITE_THROUGH; in update_cache_properties() 379 this_leaf->attributes = CACHE_WRITE_BACK; in update_cache_properties() 386 this_leaf->attributes |= CACHE_READ_ALLOCATE; in update_cache_properties() 389 this_leaf->attributes |= CACHE_WRITE_ALLOCATE; in update_cache_properties() [all …]
|
/openbmc/linux/arch/arm64/kernel/ |
H A D | cacheinfo.c | 34 static void ci_leaf_init(struct cacheinfo *this_leaf, in ci_leaf_init() argument 37 this_leaf->level = level; in ci_leaf_init() 38 this_leaf->type = type; in ci_leaf_init()
|
/openbmc/linux/arch/riscv/include/asm/ |
H A D | cacheinfo.h | 13 *this_leaf);
|
/openbmc/linux/drivers/soc/sifive/ |
H A D | sifive_ccache.c | 151 *this_leaf) in ccache_get_priv_group() argument 154 if (this_leaf->level == level) in ccache_get_priv_group()
|
/openbmc/linux/include/linux/ |
H A D | cacheinfo.h | 112 const struct attribute_group *cache_get_priv_group(struct cacheinfo *this_leaf);
|