Lines Matching +full:cache +full:- +full:sets
1 // SPDX-License-Identifier: GPL-2.0-only
8 #define populate_cache(cache, leaf, c_level, c_type) \ argument
10 leaf->type = c_type; \
11 leaf->level = c_level; \
12 leaf->coherency_line_size = c->cache.linesz; \
13 leaf->number_of_sets = c->cache.sets; \
14 leaf->ways_of_associativity = c->cache.ways; \
15 leaf->size = c->cache.linesz * c->cache.sets * \
16 c->cache.ways; \
27 * If Dcache is not set, we assume the cache structures in __init_cache_level()
30 if (c->dcache.waysize) in __init_cache_level()
33 return -ENOENT; in __init_cache_level()
36 leaves += (c->icache.waysize) ? 2 : 1; in __init_cache_level()
38 if (c->scache.waysize) { in __init_cache_level()
43 if (c->tcache.waysize) { in __init_cache_level()
48 this_cpu_ci->num_levels = levels; in __init_cache_level()
49 this_cpu_ci->num_leaves = leaves; in __init_cache_level()
76 struct cacheinfo *this_leaf = this_cpu_ci->info_list; in __populate_cache_leaves()
78 if (c->icache.waysize) { in __populate_cache_leaves()
80 fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); in __populate_cache_leaves()
82 fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); in __populate_cache_leaves()
88 if (c->scache.waysize) { in __populate_cache_leaves()
89 /* L2 cache is per cluster */ in __populate_cache_leaves()
90 fill_cpumask_cluster(cpu, &this_leaf->shared_cpu_map); in __populate_cache_leaves()
94 if (c->tcache.waysize) in __populate_cache_leaves()
97 this_cpu_ci->cpu_map_populated = true; in __populate_cache_leaves()