Lines Matching refs:policy
32 static int cpufreq_set(struct cpufreq_policy *policy, unsigned int freq) in cpufreq_set() argument
35 unsigned int *setspeed = policy->governor_data; in cpufreq_set()
37 pr_debug("cpufreq_set for cpu %u, freq %u kHz\n", policy->cpu, freq); in cpufreq_set()
40 if (!per_cpu(cpu_is_managed, policy->cpu)) in cpufreq_set()
45 ret = __cpufreq_driver_target(policy, freq, CPUFREQ_RELATION_L); in cpufreq_set()
51 static ssize_t show_speed(struct cpufreq_policy *policy, char *buf) in show_speed() argument
53 return sprintf(buf, "%u\n", policy->cur); in show_speed()
56 static int cpufreq_userspace_policy_init(struct cpufreq_policy *policy) in cpufreq_userspace_policy_init() argument
64 policy->governor_data = setspeed; in cpufreq_userspace_policy_init()
68 static void cpufreq_userspace_policy_exit(struct cpufreq_policy *policy) in cpufreq_userspace_policy_exit() argument
71 kfree(policy->governor_data); in cpufreq_userspace_policy_exit()
72 policy->governor_data = NULL; in cpufreq_userspace_policy_exit()
76 static int cpufreq_userspace_policy_start(struct cpufreq_policy *policy) in cpufreq_userspace_policy_start() argument
78 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_start()
80 BUG_ON(!policy->cur); in cpufreq_userspace_policy_start()
81 pr_debug("started managing cpu %u\n", policy->cpu); in cpufreq_userspace_policy_start()
84 per_cpu(cpu_is_managed, policy->cpu) = 1; in cpufreq_userspace_policy_start()
85 *setspeed = policy->cur; in cpufreq_userspace_policy_start()
90 static void cpufreq_userspace_policy_stop(struct cpufreq_policy *policy) in cpufreq_userspace_policy_stop() argument
92 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_stop()
94 pr_debug("managing cpu %u stopped\n", policy->cpu); in cpufreq_userspace_policy_stop()
97 per_cpu(cpu_is_managed, policy->cpu) = 0; in cpufreq_userspace_policy_stop()
102 static void cpufreq_userspace_policy_limits(struct cpufreq_policy *policy) in cpufreq_userspace_policy_limits() argument
104 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_limits()
109 policy->cpu, policy->min, policy->max, policy->cur, *setspeed); in cpufreq_userspace_policy_limits()
111 if (policy->max < *setspeed) in cpufreq_userspace_policy_limits()
112 __cpufreq_driver_target(policy, policy->max, CPUFREQ_RELATION_H); in cpufreq_userspace_policy_limits()
113 else if (policy->min > *setspeed) in cpufreq_userspace_policy_limits()
114 __cpufreq_driver_target(policy, policy->min, CPUFREQ_RELATION_L); in cpufreq_userspace_policy_limits()
116 __cpufreq_driver_target(policy, *setspeed, CPUFREQ_RELATION_L); in cpufreq_userspace_policy_limits()