47bb021b79
various atom based CPUs.
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
From e2fea58e57993ab2ed011eb35a034507347336ed Mon Sep 17 00:00:00 2001
|
|
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
|
|
Date: Thu, 17 Mar 2016 15:07:16 +0100
|
|
Subject: [PATCH] Temp fix for intel_pstate oopses and lockdep report with
|
|
Linux v4.5-1822-g63e30271b04c
|
|
|
|
On Thursday, March 17, 2016 09:02:29 AM Josh Boyer wrote:
|
|
> Hello,
|
|
|
|
Hi,
|
|
|
|
> I have an Intel Atom based NUC that is producing the following
|
|
> backtraces on boot of Linus' tree as of last evening. This does not
|
|
> happen with a tree with top level commit 271ecc5253e2, but does happen
|
|
> when using the tree mentioned in the subject with top level commit
|
|
> 63e30271b04c.
|
|
>
|
|
> The first backtrace appears to be a warning because the intel_pstate
|
|
> driver is calling wrmsrl_on_cpu when interrupts are disabled? Not
|
|
> sure on that one.
|
|
>
|
|
> The second backtrace is a lockdep report. Both are from the same boot.
|
|
|
|
OK, thanks for the report.
|
|
|
|
Can you please try the patch below?
|
|
|
|
I'm actually unsure if we can do that safely in general for Atom because
|
|
of the initialization, but that's what Core does anyway.
|
|
|
|
Srinivas, Philippe, why exactly do we need the wrmsrl_on_cpu() in
|
|
atom_set_pstate()? core_set_pstate() uses wrmsrl() and seems to be doing fine.
|
|
---
|
|
drivers/cpufreq/intel_pstate.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
|
|
index cb5607495816..32d5d6456290 100644
|
|
--- a/drivers/cpufreq/intel_pstate.c
|
|
+++ b/drivers/cpufreq/intel_pstate.c
|
|
@@ -587,7 +587,7 @@ static void atom_set_pstate(struct cpudata *cpudata, int pstate)
|
|
|
|
val |= vid;
|
|
|
|
- wrmsrl_on_cpu(cpudata->cpu, MSR_IA32_PERF_CTL, val);
|
|
+ wrmsrl(MSR_IA32_PERF_CTL, val);
|
|
}
|
|
|
|
static int silvermont_get_scaling(void)
|
|
--
|
|
2.5.0
|
|
|