Lines Matching refs:cdesc
45 struct cache_desc *cdesc = current_cpu_data.cache_leaves + leaf;
47 nr_nodes = cache_private(cdesc) ? 1 : loongson_sysconf.nr_nodes;
50 for (i = 0; i < cdesc->sets; i++) {
51 for (j = 0; j < cdesc->ways; j++) {
56 addr -= cdesc->ways;
57 addr += cdesc->linesz;
66 struct cache_desc *cdesc = current_cpu_data.cache_leaves;
70 if (cache_inclusive(cdesc + leaf)) {
91 #define populate_cache_properties(cfg0, cdesc, level, leaf) \
97 cdesc->flags |= CACHE_PRIVATE; \
100 cdesc->flags |= CACHE_PRIVATE; \
102 cdesc->flags |= CACHE_INCLUSIVE; \
104 cdesc->level = level; \
105 cdesc->flags |= CACHE_PRESENT; \
106 cdesc->ways = ((cfg1 & CPUCFG_CACHE_WAYS_M) >> CPUCFG_CACHE_WAYS) + 1; \
107 cdesc->sets = 1 << ((cfg1 & CPUCFG_CACHE_SETS_M) >> CPUCFG_CACHE_SETS); \
108 cdesc->linesz = 1 << ((cfg1 & CPUCFG_CACHE_LSIZE_M) >> CPUCFG_CACHE_LSIZE); \
109 cdesc++; leaf++; \
116 struct cache_desc *cdesc = current_cpu_data.cache_leaves;
120 cdesc->type = CACHE_TYPE_UNIFIED;
122 cdesc->type = CACHE_TYPE_INST;
123 populate_cache_properties(config, cdesc, level, leaf);
127 cdesc->type = CACHE_TYPE_DATA;
128 populate_cache_properties(config, cdesc, level, leaf);
138 cdesc->type = CACHE_TYPE_UNIFIED;
140 cdesc->type = CACHE_TYPE_INST;
141 populate_cache_properties(config, cdesc, level, leaf);
145 cdesc->type = CACHE_TYPE_DATA;
146 populate_cache_properties(config, cdesc, level, leaf);