Lines Matching refs:cpu_dev
280 static void _put_cluster_clk_and_freq_table(struct device *cpu_dev, in _put_cluster_clk_and_freq_table() argument
283 u32 cluster = raw_cpu_to_cluster(cpu_dev->id); in _put_cluster_clk_and_freq_table()
289 dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); in _put_cluster_clk_and_freq_table()
292 static void put_cluster_clk_and_freq_table(struct device *cpu_dev, in put_cluster_clk_and_freq_table() argument
295 u32 cluster = cpu_to_cluster(cpu_dev->id); in put_cluster_clk_and_freq_table()
302 return _put_cluster_clk_and_freq_table(cpu_dev, cpumask); in put_cluster_clk_and_freq_table()
317 static int _get_cluster_clk_and_freq_table(struct device *cpu_dev, in _get_cluster_clk_and_freq_table() argument
320 u32 cluster = raw_cpu_to_cluster(cpu_dev->id); in _get_cluster_clk_and_freq_table()
330 ret = dev_pm_opp_get_opp_count(cpu_dev) <= 0; in _get_cluster_clk_and_freq_table()
334 ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table[cluster]); in _get_cluster_clk_and_freq_table()
338 clk[cluster] = clk_get(cpu_dev, NULL); in _get_cluster_clk_and_freq_table()
342 dev_err(cpu_dev, "%s: Failed to get clk for cpu: %d, cluster: %d\n", in _get_cluster_clk_and_freq_table()
343 __func__, cpu_dev->id, cluster); in _get_cluster_clk_and_freq_table()
345 dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); in _get_cluster_clk_and_freq_table()
348 dev_err(cpu_dev, "%s: Failed to get data for cluster: %d\n", __func__, in _get_cluster_clk_and_freq_table()
353 static int get_cluster_clk_and_freq_table(struct device *cpu_dev, in get_cluster_clk_and_freq_table() argument
356 u32 cluster = cpu_to_cluster(cpu_dev->id); in get_cluster_clk_and_freq_table()
363 ret = _get_cluster_clk_and_freq_table(cpu_dev, cpumask); in get_cluster_clk_and_freq_table()
414 struct device *cpu_dev; in ve_spc_cpufreq_init() local
417 cpu_dev = get_cpu_device(policy->cpu); in ve_spc_cpufreq_init()
418 if (!cpu_dev) { in ve_spc_cpufreq_init()
427 dev_pm_opp_get_sharing_cpus(cpu_dev, policy->cpus); in ve_spc_cpufreq_init()
436 ret = get_cluster_clk_and_freq_table(cpu_dev, policy->cpus); in ve_spc_cpufreq_init()
447 dev_info(cpu_dev, "%s: CPU %d initialized\n", __func__, policy->cpu); in ve_spc_cpufreq_init()
453 struct device *cpu_dev; in ve_spc_cpufreq_exit() local
455 cpu_dev = get_cpu_device(policy->cpu); in ve_spc_cpufreq_exit()
456 if (!cpu_dev) { in ve_spc_cpufreq_exit()
462 put_cluster_clk_and_freq_table(cpu_dev, policy->related_cpus); in ve_spc_cpufreq_exit()