aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/intel_pstate.c
diff options
context:
space:
mode:
authorJoe Konno <joe.konno@intel.com>2015-05-12 10:59:42 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-10 12:49:34 -0400
commitcd430d3e58e79d93597c26ee684730302940ae8c (patch)
treec462638b4a71f3b5d947295e0cd3e8f39d7f0b97 /drivers/cpufreq/intel_pstate.c
parent4b81f9f8194ffa58b27d269233c9f778b758cb2b (diff)
intel_pstate: set BYT MSR with wrmsrl_on_cpu()
commit 0dd23f94251f49da99a6cbfb22418b2d757d77d6 upstream. Commit 007bea098b86 (intel_pstate: Add setting voltage value for baytrail P states.) introduced byt_set_pstate() with the assumption that it would always be run by the CPU whose MSR is to be written by it. It turns out, however, that is not always the case in practice, so modify byt_set_pstate() to enforce the MSR write done by it to always happen on the right CPU. Fixes: 007bea098b86 (intel_pstate: Add setting voltage value for baytrail P states.) Signed-off-by: Joe Konno <joe.konno@intel.com> Acked-by: Kristen Carlson Accardi <kristen@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
-rw-r--r--drivers/cpufreq/intel_pstate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 6414661ac1c4..c45d274a75c8 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -535,7 +535,7 @@ static void byt_set_pstate(struct cpudata *cpudata, int pstate)
535 535
536 val |= vid; 536 val |= vid;
537 537
538 wrmsrl(MSR_IA32_PERF_CTL, val); 538 wrmsrl_on_cpu(cpudata->cpu, MSR_IA32_PERF_CTL, val);
539} 539}
540 540
541#define BYT_BCLK_FREQS 5 541#define BYT_BCLK_FREQS 5