Lines Matching refs:policy
155 static void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_init() argument
163 for_each_cpu(cpu, policy->cpus) { in cppc_cpufreq_cpu_fie_init()
166 cppc_fi->cpu_data = policy->driver_data; in cppc_cpufreq_cpu_fie_init()
185 topology_set_scale_freq_source(&cppc_sftd, policy->cpus); in cppc_cpufreq_cpu_fie_init()
196 static void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
205 topology_clear_scale_freq_source(SCALE_FREQ_SOURCE_CPPC, policy->related_cpus); in cppc_cpufreq_cpu_fie_exit()
207 for_each_cpu(cpu, policy->related_cpus) { in cppc_cpufreq_cpu_fie_exit()
257 static inline void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_init() argument
261 static inline void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
361 static int cppc_cpufreq_set_target(struct cpufreq_policy *policy, in cppc_cpufreq_set_target() argument
366 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target()
367 unsigned int cpu = policy->cpu; in cppc_cpufreq_set_target()
378 freqs.old = policy->cur; in cppc_cpufreq_set_target()
381 cpufreq_freq_transition_begin(policy, &freqs); in cppc_cpufreq_set_target()
383 cpufreq_freq_transition_end(policy, &freqs, ret != 0); in cppc_cpufreq_set_target()
392 static int cppc_verify_policy(struct cpufreq_policy_data *policy) in cppc_verify_policy() argument
394 cpufreq_verify_within_cpu_limits(policy); in cppc_verify_policy()
472 static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy) in cppc_cpufreq_put_cpu_data() argument
474 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data()
479 policy->driver_data = NULL; in cppc_cpufreq_put_cpu_data()
482 static int cppc_cpufreq_cpu_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_init() argument
484 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_init()
495 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
501 policy->min = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
503 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
511 policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
513 policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
516 policy->transition_delay_us = cppc_cpufreq_get_transition_delay_us(cpu); in cppc_cpufreq_cpu_init()
517 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
519 switch (policy->shared_type) { in cppc_cpufreq_cpu_init()
530 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
534 policy->shared_type); in cppc_cpufreq_cpu_init()
547 policy->cur = cppc_cpufreq_perf_to_khz(cpu_data, caps->highest_perf); in cppc_cpufreq_cpu_init()
557 cppc_cpufreq_cpu_fie_init(policy); in cppc_cpufreq_cpu_init()
561 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_init()
565 static int cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_exit() argument
567 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit()
569 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_exit()
572 cppc_cpufreq_cpu_fie_exit(policy); in cppc_cpufreq_cpu_exit()
581 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_exit()
617 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in cppc_cpufreq_get_rate() local
618 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_get_rate()
622 cpufreq_cpu_put(policy); in cppc_cpufreq_get_rate()
640 static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state) in cppc_cpufreq_set_boost() argument
642 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost()
652 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
655 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
657 policy->cpuinfo.max_freq = policy->max; in cppc_cpufreq_set_boost()
659 ret = freq_qos_update_request(policy->max_freq_req, policy->max); in cppc_cpufreq_set_boost()
666 static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf) in show_freqdomain_cpus() argument
668 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus()
699 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in hisi_cppc_cpufreq_get_rate() local
700 struct cppc_cpudata *cpu_data = policy->driver_data; in hisi_cppc_cpufreq_get_rate()
704 cpufreq_cpu_put(policy); in hisi_cppc_cpufreq_get_rate()