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
362 static int cppc_cpufreq_set_target(struct cpufreq_policy *policy, in cppc_cpufreq_set_target() argument
367 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target()
368 unsigned int cpu = policy->cpu; in cppc_cpufreq_set_target()
379 freqs.old = policy->cur; in cppc_cpufreq_set_target()
382 cpufreq_freq_transition_begin(policy, &freqs); in cppc_cpufreq_set_target()
384 cpufreq_freq_transition_end(policy, &freqs, ret != 0); in cppc_cpufreq_set_target()
393 static int cppc_verify_policy(struct cpufreq_policy_data *policy) in cppc_verify_policy() argument
395 cpufreq_verify_within_cpu_limits(policy); in cppc_verify_policy()
473 static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy) in cppc_cpufreq_put_cpu_data() argument
475 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data()
480 policy->driver_data = NULL; in cppc_cpufreq_put_cpu_data()
483 static int cppc_cpufreq_cpu_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_init() argument
485 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_init()
496 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
502 policy->min = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
504 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
512 policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
514 policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
517 policy->transition_delay_us = cppc_cpufreq_get_transition_delay_us(cpu); in cppc_cpufreq_cpu_init()
518 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
520 switch (policy->shared_type) { in cppc_cpufreq_cpu_init()
531 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
535 policy->shared_type); in cppc_cpufreq_cpu_init()
548 policy->cur = cppc_cpufreq_perf_to_khz(cpu_data, caps->highest_perf); in cppc_cpufreq_cpu_init()
558 cppc_cpufreq_cpu_fie_init(policy); in cppc_cpufreq_cpu_init()
562 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_init()
566 static int cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_exit() argument
568 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit()
570 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_exit()
573 cppc_cpufreq_cpu_fie_exit(policy); in cppc_cpufreq_cpu_exit()
582 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_exit()
618 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in cppc_cpufreq_get_rate() local
619 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_get_rate()
623 cpufreq_cpu_put(policy); in cppc_cpufreq_get_rate()
641 static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state) in cppc_cpufreq_set_boost() argument
643 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost()
653 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
656 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
658 policy->cpuinfo.max_freq = policy->max; in cppc_cpufreq_set_boost()
660 ret = freq_qos_update_request(policy->max_freq_req, policy->max); in cppc_cpufreq_set_boost()
667 static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf) in show_freqdomain_cpus() argument
669 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus()
700 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in hisi_cppc_cpufreq_get_rate() local
701 struct cppc_cpudata *cpu_data = policy->driver_data; in hisi_cppc_cpufreq_get_rate()
705 cpufreq_cpu_put(policy); in hisi_cppc_cpufreq_get_rate()