Lines Matching refs:policy

57 	struct cpufreq_policy *policy;
71 static int qcom_cpufreq_set_bw(struct cpufreq_policy *policy,
79 dev = get_cpu_device(policy->cpu);
112 static int qcom_cpufreq_hw_target_index(struct cpufreq_policy *policy,
115 struct qcom_cpufreq_data *data = policy->driver_data;
117 unsigned long freq = policy->freq_table[index].frequency;
123 for (i = 1; i < cpumask_weight(policy->related_cpus); i++)
127 qcom_cpufreq_set_bw(policy, freq);
149 struct cpufreq_policy *policy;
152 policy = cpufreq_cpu_get_raw(cpu);
153 if (!policy)
156 data = policy->driver_data;
162 return policy->freq_table[index].frequency;
168 struct cpufreq_policy *policy;
170 policy = cpufreq_cpu_get_raw(cpu);
171 if (!policy)
174 data = policy->driver_data;
182 static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,
185 struct qcom_cpufreq_data *data = policy->driver_data;
190 index = policy->cached_resolved_idx;
194 for (i = 1; i < cpumask_weight(policy->related_cpus); i++)
197 return policy->freq_table[index].frequency;
201 struct cpufreq_policy *policy)
209 struct qcom_cpufreq_data *drv_data = policy->driver_data;
233 policy->fast_switch_possible = true;
295 policy->freq_table = table;
296 dev_pm_opp_set_sharing_cpus(cpu_dev, policy->cpus);
326 struct cpufreq_policy *policy = data->policy;
327 int cpu = cpumask_first(policy->related_cpus);
351 arch_update_thermal_pressure(policy->related_cpus, throttled_freq);
354 * In the unlikely case policy is unregistered do not enable
426 static int qcom_cpufreq_hw_lmh_init(struct cpufreq_policy *policy, int index)
428 struct qcom_cpufreq_data *data = policy->driver_data;
443 data->policy = policy;
448 snprintf(data->irq_name, sizeof(data->irq_name), "dcvsh-irq-%u", policy->cpu);
456 ret = irq_set_affinity_and_hint(data->throttle_irq, policy->cpus);
464 static int qcom_cpufreq_hw_cpu_online(struct cpufreq_policy *policy)
466 struct qcom_cpufreq_data *data = policy->driver_data;
477 ret = irq_set_affinity_and_hint(data->throttle_irq, policy->cpus);
485 static int qcom_cpufreq_hw_cpu_offline(struct cpufreq_policy *policy)
487 struct qcom_cpufreq_data *data = policy->driver_data;
511 static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)
521 cpu_dev = get_cpu_device(policy->cpu);
524 policy->cpu);
528 cpu_np = of_cpu_device_node_get(policy->cpu);
550 qcom_get_related_cpus(index, policy->cpus);
552 policy->driver_data = data;
553 policy->dvfs_possible_from_any_cpu = true;
555 ret = qcom_cpufreq_hw_read_lut(cpu_dev, policy);
567 if (policy_has_boost_freq(policy)) {
573 return qcom_cpufreq_hw_lmh_init(policy, index);
576 static int qcom_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy)
578 struct device *cpu_dev = get_cpu_device(policy->cpu);
579 struct qcom_cpufreq_data *data = policy->driver_data;
582 dev_pm_opp_of_cpumask_remove_table(policy->related_cpus);
584 kfree(policy->freq_table);
590 static void qcom_cpufreq_ready(struct cpufreq_policy *policy)
592 struct qcom_cpufreq_data *data = policy->driver_data;