diff mbox

[Saucy,1/1] intel_pstate: fix no_turbo

Message ID 32d35eec9ba9eea01b7787ac2064b94710698b13.1385138374.git.joseph.salisbury@canonical.com
State New
Headers show

Commit Message

Joseph Salisbury Dec. 10, 2013, 7:37 p.m. UTC
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

BugLink: http://bugs.launchpad.net/bugs/1254091

When sysfs for no_turbo is set, then also some p states in turbo regions
are observed. This patch will set IDA Engage bit when no_turbo is set to
explicitly disengage turbo.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Acked-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 1ccf7a1cdafadd02e33e8f3d74370685a0600ec6)

Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
---
 drivers/cpufreq/intel_pstate.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index fa223ce..caf4b88 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -394,7 +394,10 @@  static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate)
 	trace_cpu_frequency(pstate * 100000, cpu->cpu);
 
 	cpu->pstate.current_pstate = pstate;
-	wrmsrl(MSR_IA32_PERF_CTL, pstate << 8);
+	if (limits.no_turbo)
+		wrmsrl(MSR_IA32_PERF_CTL, BIT(32) | (pstate << 8));
+	else
+		wrmsrl(MSR_IA32_PERF_CTL, pstate << 8);
 
 }