Lines Matching refs:policy

147 static void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy)  in cppc_cpufreq_cpu_fie_init()  argument
156 for_each_cpu(cpu, policy->cpus) { in cppc_cpufreq_cpu_fie_init()
159 cppc_fi->cpu_data = policy->driver_data; in cppc_cpufreq_cpu_fie_init()
180 topology_set_scale_freq_source(sftd, policy->cpus); in cppc_cpufreq_cpu_fie_init()
191 static void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
200 topology_clear_scale_freq_source(SCALE_FREQ_SOURCE_CPPC, policy->related_cpus); in cppc_cpufreq_cpu_fie_exit()
202 for_each_cpu(cpu, policy->related_cpus) { in cppc_cpufreq_cpu_fie_exit()
273 static inline void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_init() argument
277 static inline void cppc_cpufreq_cpu_fie_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_fie_exit() argument
290 static int cppc_cpufreq_set_target(struct cpufreq_policy *policy, in cppc_cpufreq_set_target() argument
294 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target()
295 unsigned int cpu = policy->cpu; in cppc_cpufreq_set_target()
301 freqs.old = policy->cur; in cppc_cpufreq_set_target()
304 cpufreq_freq_transition_begin(policy, &freqs); in cppc_cpufreq_set_target()
306 cpufreq_freq_transition_end(policy, &freqs, ret != 0); in cppc_cpufreq_set_target()
315 static unsigned int cppc_cpufreq_fast_switch(struct cpufreq_policy *policy, in cppc_cpufreq_fast_switch() argument
318 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_fast_switch()
319 unsigned int cpu = policy->cpu; in cppc_cpufreq_fast_switch()
336 static int cppc_verify_policy(struct cpufreq_policy_data *policy) in cppc_verify_policy() argument
338 cpufreq_verify_within_cpu_limits(policy); in cppc_verify_policy()
395 static unsigned int get_perf_level_count(struct cpufreq_policy *policy) in get_perf_level_count() argument
400 int cpu = policy->cpu; in get_perf_level_count()
402 cpu_data = policy->driver_data; in get_perf_level_count()
429 struct cpufreq_policy *policy; in cppc_get_cpu_power() local
434 policy = cpufreq_cpu_get_raw(cpu_dev->id); in cppc_get_cpu_power()
435 if (!policy) in cppc_get_cpu_power()
438 cpu_data = policy->driver_data; in cppc_get_cpu_power()
499 struct cpufreq_policy *policy; in cppc_get_cpu_cost() local
504 policy = cpufreq_cpu_get_raw(cpu_dev->id); in cppc_get_cpu_cost()
505 if (!policy) in cppc_get_cpu_cost()
508 cpu_data = policy->driver_data; in cppc_get_cpu_cost()
521 static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) in cppc_cpufreq_register_em() argument
527 cpu_data = policy->driver_data; in cppc_cpufreq_register_em()
528 em_dev_register_perf_domain(get_cpu_device(policy->cpu), in cppc_cpufreq_register_em()
529 get_perf_level_count(policy), &em_cb, in cppc_cpufreq_register_em()
607 static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy) in cppc_cpufreq_put_cpu_data() argument
609 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data()
613 policy->driver_data = NULL; in cppc_cpufreq_put_cpu_data()
616 static int cppc_cpufreq_cpu_init(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_init() argument
618 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_init()
629 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
635 policy->min = cppc_perf_to_khz(caps, caps->lowest_nonlinear_perf); in cppc_cpufreq_cpu_init()
636 policy->max = cppc_perf_to_khz(caps, policy->boost_enabled ? in cppc_cpufreq_cpu_init()
644 policy->cpuinfo.min_freq = cppc_perf_to_khz(caps, caps->lowest_perf); in cppc_cpufreq_cpu_init()
645 policy->cpuinfo.max_freq = policy->max; in cppc_cpufreq_cpu_init()
647 policy->transition_delay_us = cppc_cpufreq_get_transition_delay_us(cpu); in cppc_cpufreq_cpu_init()
648 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
650 switch (policy->shared_type) { in cppc_cpufreq_cpu_init()
661 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
665 policy->shared_type); in cppc_cpufreq_cpu_init()
670 policy->fast_switch_possible = cppc_allow_fast_switch(); in cppc_cpufreq_cpu_init()
671 policy->dvfs_possible_from_any_cpu = true; in cppc_cpufreq_cpu_init()
678 policy->boost_supported = true; in cppc_cpufreq_cpu_init()
681 policy->cur = cppc_perf_to_khz(caps, caps->highest_perf); in cppc_cpufreq_cpu_init()
691 cppc_cpufreq_cpu_fie_init(policy); in cppc_cpufreq_cpu_init()
695 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_init()
699 static void cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) in cppc_cpufreq_cpu_exit() argument
701 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit()
703 unsigned int cpu = policy->cpu; in cppc_cpufreq_cpu_exit()
706 cppc_cpufreq_cpu_fie_exit(policy); in cppc_cpufreq_cpu_exit()
715 cppc_cpufreq_put_cpu_data(policy); in cppc_cpufreq_cpu_exit()
766 struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu); in cppc_cpufreq_get_rate()
772 if (!policy) in cppc_cpufreq_get_rate()
775 cpu_data = policy->driver_data; in cppc_cpufreq_get_rate()
806 static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state) in cppc_cpufreq_set_boost() argument
808 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost()
813 policy->max = cppc_perf_to_khz(caps, caps->highest_perf); in cppc_cpufreq_set_boost()
815 policy->max = cppc_perf_to_khz(caps, caps->nominal_perf); in cppc_cpufreq_set_boost()
816 policy->cpuinfo.max_freq = policy->max; in cppc_cpufreq_set_boost()
818 ret = freq_qos_update_request(policy->max_freq_req, policy->max); in cppc_cpufreq_set_boost()
825 static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf) in show_freqdomain_cpus() argument
827 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus()
832 static ssize_t show_auto_select(struct cpufreq_policy *policy, char *buf) in show_auto_select() argument
837 ret = cppc_get_auto_sel(policy->cpu, &val); in show_auto_select()
849 static ssize_t store_auto_select(struct cpufreq_policy *policy, in store_auto_select() argument
859 ret = cppc_set_auto_sel(policy->cpu, val); in store_auto_select()
899 static ssize_t show_##_name(struct cpufreq_policy *policy, char *buf) \
901 return cppc_cpufreq_sysfs_show_u64(policy->cpu, _get_func, buf);\
903 static ssize_t store_##_name(struct cpufreq_policy *policy, \
906 return cppc_cpufreq_sysfs_store_u64(policy->cpu, _set_func, \