Lines Matching refs:cpu_dev
282 static void _put_cluster_clk_and_freq_table(struct device *cpu_dev, in _put_cluster_clk_and_freq_table() argument
285 u32 cluster = raw_cpu_to_cluster(cpu_dev->id); in _put_cluster_clk_and_freq_table()
291 dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); in _put_cluster_clk_and_freq_table()
294 static void put_cluster_clk_and_freq_table(struct device *cpu_dev, in put_cluster_clk_and_freq_table() argument
297 u32 cluster = cpu_to_cluster(cpu_dev->id); in put_cluster_clk_and_freq_table()
304 return _put_cluster_clk_and_freq_table(cpu_dev, cpumask); in put_cluster_clk_and_freq_table()
319 static int _get_cluster_clk_and_freq_table(struct device *cpu_dev, in _get_cluster_clk_and_freq_table() argument
322 u32 cluster = raw_cpu_to_cluster(cpu_dev->id); in _get_cluster_clk_and_freq_table()
332 ret = dev_pm_opp_get_opp_count(cpu_dev) <= 0; in _get_cluster_clk_and_freq_table()
336 ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table[cluster]); in _get_cluster_clk_and_freq_table()
340 clk[cluster] = clk_get(cpu_dev, NULL); in _get_cluster_clk_and_freq_table()
344 dev_err(cpu_dev, "%s: Failed to get clk for cpu: %d, cluster: %d\n", in _get_cluster_clk_and_freq_table()
345 __func__, cpu_dev->id, cluster); in _get_cluster_clk_and_freq_table()
347 dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); in _get_cluster_clk_and_freq_table()
350 dev_err(cpu_dev, "%s: Failed to get data for cluster: %d\n", __func__, in _get_cluster_clk_and_freq_table()
355 static int get_cluster_clk_and_freq_table(struct device *cpu_dev, in get_cluster_clk_and_freq_table() argument
358 u32 cluster = cpu_to_cluster(cpu_dev->id); in get_cluster_clk_and_freq_table()
365 ret = _get_cluster_clk_and_freq_table(cpu_dev, cpumask); in get_cluster_clk_and_freq_table()
416 struct device *cpu_dev; in ve_spc_cpufreq_init() local
419 cpu_dev = get_cpu_device(policy->cpu); in ve_spc_cpufreq_init()
420 if (!cpu_dev) { in ve_spc_cpufreq_init()
429 dev_pm_opp_get_sharing_cpus(cpu_dev, policy->cpus); in ve_spc_cpufreq_init()
438 ret = get_cluster_clk_and_freq_table(cpu_dev, policy->cpus); in ve_spc_cpufreq_init()
445 dev_pm_opp_of_register_em(cpu_dev, policy->cpus); in ve_spc_cpufreq_init()
451 dev_info(cpu_dev, "%s: CPU %d initialized\n", __func__, policy->cpu); in ve_spc_cpufreq_init()
457 struct device *cpu_dev; in ve_spc_cpufreq_exit() local
465 cpu_dev = get_cpu_device(policy->cpu); in ve_spc_cpufreq_exit()
466 if (!cpu_dev) { in ve_spc_cpufreq_exit()
472 put_cluster_clk_and_freq_table(cpu_dev, policy->related_cpus); in ve_spc_cpufreq_exit()