Lines Matching refs:cluster
119 static inline bool cluster_is_a15(u32 cluster) in cluster_is_a15() argument
121 return cluster == info->a15_clusid; in cluster_is_a15()
158 void ve_spc_cpu_wakeup_irq(u32 cluster, u32 cpu, bool set) in ve_spc_cpu_wakeup_irq() argument
162 if (cluster >= MAX_CLUSTERS) in ve_spc_cpu_wakeup_irq()
167 if (!cluster_is_a15(cluster)) in ve_spc_cpu_wakeup_irq()
187 void ve_spc_set_resume_addr(u32 cluster, u32 cpu, u32 addr) in ve_spc_set_resume_addr() argument
191 if (cluster >= MAX_CLUSTERS) in ve_spc_set_resume_addr()
194 if (cluster_is_a15(cluster)) in ve_spc_set_resume_addr()
212 void ve_spc_powerdown(u32 cluster, bool enable) in ve_spc_powerdown() argument
216 if (cluster >= MAX_CLUSTERS) in ve_spc_powerdown()
219 pwdrn_reg = cluster_is_a15(cluster) ? A15_PWRDN_EN : A7_PWRDN_EN; in ve_spc_powerdown()
223 static u32 standbywfi_cpu_mask(u32 cpu, u32 cluster) in standbywfi_cpu_mask() argument
225 return cluster_is_a15(cluster) ? in standbywfi_cpu_mask()
242 int ve_spc_cpu_in_wfi(u32 cpu, u32 cluster) in ve_spc_cpu_in_wfi() argument
245 u32 mask = standbywfi_cpu_mask(cpu, cluster); in ve_spc_cpu_in_wfi()
247 if (cluster >= MAX_CLUSTERS) in ve_spc_cpu_in_wfi()
258 static int ve_spc_get_performance(int cluster, u32 *freq) in ve_spc_get_performance() argument
260 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_get_performance()
264 perf_cfg_reg = cluster_is_a15(cluster) ? PERF_LVL_A15 : PERF_LVL_A7; in ve_spc_get_performance()
267 if (perf >= info->num_opps[cluster]) in ve_spc_get_performance()
277 static int ve_spc_round_performance(int cluster, u32 freq) in ve_spc_round_performance() argument
279 int idx, max_opp = info->num_opps[cluster]; in ve_spc_round_performance()
280 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_round_performance()
300 static int ve_spc_find_performance_index(int cluster, u32 freq) in ve_spc_find_performance_index() argument
302 int idx, max_opp = info->num_opps[cluster]; in ve_spc_find_performance_index()
303 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_find_performance_index()
322 static int ve_spc_set_performance(int cluster, u32 freq) in ve_spc_set_performance() argument
327 if (cluster_is_a15(cluster)) { in ve_spc_set_performance()
335 perf = ve_spc_find_performance_index(cluster, freq); in ve_spc_set_performance()
401 static int ve_spc_populate_opps(uint32_t cluster) in ve_spc_populate_opps() argument
410 info->opps[cluster] = opps; in ve_spc_populate_opps()
412 off = cluster_is_a15(cluster) ? A15_PERFVAL_BASE : A7_PERFVAL_BASE; in ve_spc_populate_opps()
422 info->num_opps[cluster] = idx; in ve_spc_populate_opps()
429 int cluster; in ve_init_opp_table() local
433 cluster = topology_physical_package_id(cpu_dev->id); in ve_init_opp_table()
434 cluster = cluster < 0 ? 0 : cluster; in ve_init_opp_table()
436 max_opp = info->num_opps[cluster]; in ve_init_opp_table()
437 opps = info->opps[cluster]; in ve_init_opp_table()
492 int cluster; member
502 if (ve_spc_get_performance(spc->cluster, &freq)) in spc_recalc_rate()
513 return ve_spc_round_performance(spc->cluster, drate); in spc_round_rate()
521 return ve_spc_set_performance(spc->cluster, rate / 1000); in spc_set_rate()
540 spc->cluster = topology_physical_package_id(cpu_dev->id); in ve_spc_clk_register()
542 spc->cluster = spc->cluster < 0 ? 0 : spc->cluster; in ve_spc_clk_register()
554 int cpu, cluster; in ve_spc_clk_init() local
582 cluster = topology_physical_package_id(cpu_dev->id); in ve_spc_clk_init()
583 if (cluster < 0 || init_opp_table[cluster]) in ve_spc_clk_init()
592 init_opp_table[cluster] = true; in ve_spc_clk_init()