Lines Matching +full:max +full:- +full:freq
1 // SPDX-License-Identifier: GPL-2.0-only
7 * (C) 2002 - 2004 Dominik Brodowski <linux@brodo.de>
22 * cpufreq_set - set the CPU frequency
23 * @policy: pointer to policy struct where freq is being set
24 * @freq: target frequency in kHz
26 * Sets the CPU frequency to freq.
28 static int cpufreq_set(struct cpufreq_policy *policy, unsigned int freq) in cpufreq_set() argument
30 int ret = -EINVAL; in cpufreq_set()
31 unsigned int *setspeed = policy->governor_data; in cpufreq_set()
33 pr_debug("cpufreq_set for cpu %u, freq %u kHz\n", policy->cpu, freq); in cpufreq_set()
36 if (!per_cpu(cpu_is_managed, policy->cpu)) in cpufreq_set()
39 *setspeed = freq; in cpufreq_set()
41 ret = __cpufreq_driver_target(policy, freq, CPUFREQ_RELATION_L); in cpufreq_set()
49 return sprintf(buf, "%u\n", policy->cur); in show_speed()
58 return -ENOMEM; in cpufreq_userspace_policy_init()
60 policy->governor_data = setspeed; in cpufreq_userspace_policy_init()
67 kfree(policy->governor_data); in cpufreq_userspace_policy_exit()
68 policy->governor_data = NULL; in cpufreq_userspace_policy_exit()
74 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_start()
76 BUG_ON(!policy->cur); in cpufreq_userspace_policy_start()
77 pr_debug("started managing cpu %u\n", policy->cpu); in cpufreq_userspace_policy_start()
80 per_cpu(cpu_is_managed, policy->cpu) = 1; in cpufreq_userspace_policy_start()
81 *setspeed = policy->cur; in cpufreq_userspace_policy_start()
88 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_stop()
90 pr_debug("managing cpu %u stopped\n", policy->cpu); in cpufreq_userspace_policy_stop()
93 per_cpu(cpu_is_managed, policy->cpu) = 0; in cpufreq_userspace_policy_stop()
100 unsigned int *setspeed = policy->governor_data; in cpufreq_userspace_policy_limits()
104 pr_debug("limit event for cpu %u: %u - %u kHz, currently %u kHz, last set to %u kHz\n", in cpufreq_userspace_policy_limits()
105 policy->cpu, policy->min, policy->max, policy->cur, *setspeed); in cpufreq_userspace_policy_limits()
107 if (policy->max < *setspeed) in cpufreq_userspace_policy_limits()
108 __cpufreq_driver_target(policy, policy->max, CPUFREQ_RELATION_H); in cpufreq_userspace_policy_limits()
109 else if (policy->min > *setspeed) in cpufreq_userspace_policy_limits()
110 __cpufreq_driver_target(policy, policy->min, CPUFREQ_RELATION_L); in cpufreq_userspace_policy_limits()