intel_pstate: respect cpufreq policy request
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Thu, 29 Jan 2015 20:17:13 +0000 (12:17 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 30 Jan 2015 00:52:17 +0000 (01:52 +0100)
When thermal or other subsystem requests to change the policy,
use that irrepective of whether cpufreq policy is PERFORMANCE or
not. Without this change, when thermal subsystem passive policy wants
to reduce performance, it still runs at 100%.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c

index 80ecc351d613a68788c57e6a3ee625d35d2ecefa..dfee5725903b7060a9f8f417944ee6d3babadabb 100644 (file)
@@ -919,7 +919,8 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy)
        if (!policy->cpuinfo.max_freq)
                return -ENODEV;
 
-       if (policy->policy == CPUFREQ_POLICY_PERFORMANCE) {
+       if (policy->policy == CPUFREQ_POLICY_PERFORMANCE &&
+           policy->max >= policy->cpuinfo.max_freq) {
                limits.min_perf_pct = 100;
                limits.min_perf = int_tofp(1);
                limits.max_policy_pct = 100;