Lines Matching refs:cluster
117 static inline bool cluster_is_a15(u32 cluster) in cluster_is_a15() argument
119 return cluster == info->a15_clusid; in cluster_is_a15()
156 void ve_spc_cpu_wakeup_irq(u32 cluster, u32 cpu, bool set) in ve_spc_cpu_wakeup_irq() argument
160 if (cluster >= MAX_CLUSTERS) in ve_spc_cpu_wakeup_irq()
165 if (!cluster_is_a15(cluster)) in ve_spc_cpu_wakeup_irq()
185 void ve_spc_set_resume_addr(u32 cluster, u32 cpu, u32 addr) in ve_spc_set_resume_addr() argument
189 if (cluster >= MAX_CLUSTERS) in ve_spc_set_resume_addr()
192 if (cluster_is_a15(cluster)) in ve_spc_set_resume_addr()
210 void ve_spc_powerdown(u32 cluster, bool enable) in ve_spc_powerdown() argument
214 if (cluster >= MAX_CLUSTERS) in ve_spc_powerdown()
217 pwdrn_reg = cluster_is_a15(cluster) ? A15_PWRDN_EN : A7_PWRDN_EN; in ve_spc_powerdown()
221 static u32 standbywfi_cpu_mask(u32 cpu, u32 cluster) in standbywfi_cpu_mask() argument
223 return cluster_is_a15(cluster) ? in standbywfi_cpu_mask()
240 int ve_spc_cpu_in_wfi(u32 cpu, u32 cluster) in ve_spc_cpu_in_wfi() argument
243 u32 mask = standbywfi_cpu_mask(cpu, cluster); in ve_spc_cpu_in_wfi()
245 if (cluster >= MAX_CLUSTERS) in ve_spc_cpu_in_wfi()
256 static int ve_spc_get_performance(int cluster, u32 *freq) in ve_spc_get_performance() argument
258 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_get_performance()
262 perf_cfg_reg = cluster_is_a15(cluster) ? PERF_LVL_A15 : PERF_LVL_A7; in ve_spc_get_performance()
265 if (perf >= info->num_opps[cluster]) in ve_spc_get_performance()
275 static int ve_spc_round_performance(int cluster, u32 freq) in ve_spc_round_performance() argument
277 int idx, max_opp = info->num_opps[cluster]; in ve_spc_round_performance()
278 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_round_performance()
298 static int ve_spc_find_performance_index(int cluster, u32 freq) in ve_spc_find_performance_index() argument
300 int idx, max_opp = info->num_opps[cluster]; in ve_spc_find_performance_index()
301 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_find_performance_index()
320 static int ve_spc_set_performance(int cluster, u32 freq) in ve_spc_set_performance() argument
325 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()
494 int cluster; member
504 if (ve_spc_get_performance(spc->cluster, &freq)) in spc_recalc_rate()
515 return ve_spc_round_performance(spc->cluster, drate); in spc_round_rate()
523 return ve_spc_set_performance(spc->cluster, rate / 1000); in spc_set_rate()
544 spc->cluster = topology_physical_package_id(cpu_dev->id); in ve_spc_clk_register()
546 spc->cluster = spc->cluster < 0 ? 0 : spc->cluster; in ve_spc_clk_register()