Lines Matching refs:policy

164 static void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy)  in cppc_cpufreq_cpu_fie_init()  argument
172 for_each_cpu(cpu, policy->cpus) { in cppc_cpufreq_cpu_fie_init()
175 cppc_fi->cpu_data = policy->driver_data; in cppc_cpufreq_cpu_fie_init()
194 topology_set_scale_freq_source(&cppc_sftd, policy->cpus); in cppc_cpufreq_cpu_fie_init()
205 static void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
214 topology_clear_scale_freq_source(SCALE_FREQ_SOURCE_CPPC, policy->related_cpus); in cppc_cpufreq_cpu_fie_exit()
216 for_each_cpu(cpu, policy->related_cpus) { in cppc_cpufreq_cpu_fie_exit()
277 static inline void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_init() argument
281 static inline void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
381 static int cppc_cpufreq_set_target(struct cpufreq_policy *policy, in cppc_cpufreq_set_target() argument
386 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target()
387 unsigned int cpu = policy->cpu; in cppc_cpufreq_set_target()
398 freqs.old = policy->cur; in cppc_cpufreq_set_target()
401 cpufreq_freq_transition_begin(policy, &freqs); in cppc_cpufreq_set_target()
403 cpufreq_freq_transition_end(policy, &freqs, ret != 0); in cppc_cpufreq_set_target()
412 static unsigned int cppc_cpufreq_fast_switch(struct cpufreq_policy *policy, in cppc_cpufreq_fast_switch() argument
415 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_fast_switch()
416 unsigned int cpu = policy->cpu; in cppc_cpufreq_fast_switch()
433 static int cppc_verify_policy(struct cpufreq_policy_data *policy) in cppc_verify_policy() argument
435 cpufreq_verify_within_cpu_limits(policy); in cppc_verify_policy()
473 static void cppc_cpufreq_register_em(struct cpufreq_policy *policy);
483 static unsigned int get_perf_level_count(struct cpufreq_policy *policy) in get_perf_level_count() argument
488 int cpu = policy->cpu; in get_perf_level_count()
490 cpu_data = policy->driver_data; in get_perf_level_count()
517 struct cpufreq_policy *policy; in cppc_get_cpu_power() local
522 policy = cpufreq_cpu_get_raw(cpu_dev->id); in cppc_get_cpu_power()
523 cpu_data = policy->driver_data; in cppc_get_cpu_power()
584 struct cpufreq_policy *policy; in cppc_get_cpu_cost() local
589 policy = cpufreq_cpu_get_raw(cpu_dev->id); in cppc_get_cpu_cost()
590 cpu_data = policy->driver_data; in cppc_get_cpu_cost()
639 static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) in cppc_cpufreq_register_em() argument
645 cpu_data = policy->driver_data; in cppc_cpufreq_register_em()
646 em_dev_register_perf_domain(get_cpu_device(policy->cpu), in cppc_cpufreq_register_em()
647 get_perf_level_count(policy), &em_cb, in cppc_cpufreq_register_em()
698 static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy) in cppc_cpufreq_put_cpu_data() argument
700 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data()
705 policy->driver_data = NULL; in cppc_cpufreq_put_cpu_data()
708 static int cppc_cpufreq_cpu_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_init() argument
710 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_init()
721 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
727 policy->min = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
729 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
737 policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
739 policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
742 policy->transition_delay_us = cppc_cpufreq_get_transition_delay_us(cpu); in cppc_cpufreq_cpu_init()
743 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
745 switch (policy->shared_type) { in cppc_cpufreq_cpu_init()
756 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
760 policy->shared_type); in cppc_cpufreq_cpu_init()
765 policy->fast_switch_possible = cppc_allow_fast_switch(); in cppc_cpufreq_cpu_init()
766 policy->dvfs_possible_from_any_cpu = true; in cppc_cpufreq_cpu_init()
776 policy->cur = cppc_cpufreq_perf_to_khz(cpu_data, caps->highest_perf); in cppc_cpufreq_cpu_init()
786 cppc_cpufreq_cpu_fie_init(policy); in cppc_cpufreq_cpu_init()
790 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_init()
794 static int cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_exit() argument
796 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit()
798 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_exit()
801 cppc_cpufreq_cpu_fie_exit(policy); in cppc_cpufreq_cpu_exit()
810 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_exit()
846 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in cppc_cpufreq_get_rate() local
851 if (!policy) in cppc_cpufreq_get_rate()
854 cpu_data = policy->driver_data; in cppc_cpufreq_get_rate()
856 cpufreq_cpu_put(policy); in cppc_cpufreq_get_rate()
874 static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state) in cppc_cpufreq_set_boost() argument
876 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost()
886 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
889 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
891 policy->cpuinfo.max_freq = policy->max; in cppc_cpufreq_set_boost()
893 ret = freq_qos_update_request(policy->max_freq_req, policy->max); in cppc_cpufreq_set_boost()
900 static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf) in show_freqdomain_cpus() argument
902 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus()
934 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); in hisi_cppc_cpufreq_get_rate() local
939 if (!policy) in hisi_cppc_cpufreq_get_rate()
942 cpu_data = policy->driver_data; in hisi_cppc_cpufreq_get_rate()
944 cpufreq_cpu_put(policy); in hisi_cppc_cpufreq_get_rate()