summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Konno <joe.konno@intel.com>2015-05-12 07:59:42 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-05-12 23:36:26 +0200
commit0dd23f94251f49da99a6cbfb22418b2d757d77d6 (patch)
treec59b80f3b93eb49c613de3f18d20ca79becfd78a
parent303ae7230751219f43115615a2b79669f8ba53cf (diff)
downloadblackbird-obmc-linux-0dd23f94251f49da99a6cbfb22418b2d757d77d6.tar.gz
blackbird-obmc-linux-0dd23f94251f49da99a6cbfb22418b2d757d77d6.zip
intel_pstate: set BYT MSR with wrmsrl_on_cpu()
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> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-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 e833be4fd903..2f329b45eacd 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -537,7 +537,7 @@ static void byt_set_pstate(struct cpudata *cpudata, int pstate)
val |= vid;
- wrmsrl(MSR_IA32_PERF_CTL, val);
+ wrmsrl_on_cpu(cpudata->cpu, MSR_IA32_PERF_CTL, val);
}
#define BYT_BCLK_FREQS 5
OpenPOWER on IntegriCloud