Lines Matching refs:policy

32 	struct cpufreq_policy *policy = cpufreq_cpu_get_raw(cpu);  in scmi_cpufreq_get_rate()  local
34 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_get_rate()
50 scmi_cpufreq_set_target(struct cpufreq_policy *policy, unsigned int index) in scmi_cpufreq_set_target() argument
53 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_set_target()
55 u64 freq = policy->freq_table[index].frequency; in scmi_cpufreq_set_target()
59 arch_set_freq_scale(policy->related_cpus, freq, in scmi_cpufreq_set_target()
60 policy->cpuinfo.max_freq); in scmi_cpufreq_set_target()
64 static unsigned int scmi_cpufreq_fast_switch(struct cpufreq_policy *policy, in scmi_cpufreq_fast_switch() argument
67 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_fast_switch()
72 arch_set_freq_scale(policy->related_cpus, target_freq, in scmi_cpufreq_fast_switch()
73 policy->cpuinfo.max_freq); in scmi_cpufreq_fast_switch()
106 static int scmi_cpufreq_init(struct cpufreq_policy *policy) in scmi_cpufreq_init() argument
114 cpu_dev = get_cpu_device(policy->cpu); in scmi_cpufreq_init()
116 pr_err("failed to get cpu%d device\n", policy->cpu); in scmi_cpufreq_init()
126 ret = scmi_get_sharing_cpus(cpu_dev, policy->cpus); in scmi_cpufreq_init()
132 ret = dev_pm_opp_set_sharing_cpus(cpu_dev, policy->cpus); in scmi_cpufreq_init()
161 policy->driver_data = priv; in scmi_cpufreq_init()
162 policy->freq_table = freq_table; in scmi_cpufreq_init()
165 policy->dvfs_possible_from_any_cpu = true; in scmi_cpufreq_init()
171 policy->cpuinfo.transition_latency = latency; in scmi_cpufreq_init()
173 policy->fast_switch_possible = true; in scmi_cpufreq_init()
179 dev_pm_opp_cpumask_remove_table(policy->cpus); in scmi_cpufreq_init()
184 static int scmi_cpufreq_exit(struct cpufreq_policy *policy) in scmi_cpufreq_exit() argument
186 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_exit()
189 dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); in scmi_cpufreq_exit()
191 dev_pm_opp_cpumask_remove_table(policy->related_cpus); in scmi_cpufreq_exit()
196 static void scmi_cpufreq_ready(struct cpufreq_policy *policy) in scmi_cpufreq_ready() argument
198 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_ready()
200 priv->cdev = of_cpufreq_cooling_register(policy); in scmi_cpufreq_ready()