mvebu: armada-37xx: add patch to forbid cpufreq for 1.2 GHz
This patch is backported from linux-arm-kernel [1] to improve situation, when it was reported that 1.2 GHz variant is unstable with DFS. It waits to be accepted upstream, however, it waits for Marvell people to respond. [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210630225601.6372-1-kabel@kernel.org/ Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
This commit is contained in:
parent
7b868fe04a
commit
d379476817
@ -0,0 +1,39 @@
|
||||
From: =?utf-8?q?Marek_Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Subject: [PATCH v2] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant
|
||||
Date: Thu, 1 Jul 2021 00:56:01 +0200
|
||||
|
||||
The 1.2 GHz variant of the Armada 3720 SOC is unstable with DVFS: when
|
||||
the SOC boots, the WTMI firmware sets clocks and AVS values that work
|
||||
correctly with 1.2 GHz CPU frequency, but random crashes occur once
|
||||
cpufreq driver starts scaling.
|
||||
|
||||
We do not know currently what is the reason:
|
||||
- it may be that the voltage value for L0 for 1.2 GHz variant provided
|
||||
by the vendor in the OTP is simply incorrect when scaling is used,
|
||||
- it may be that some delay is needed somewhere,
|
||||
- it may be something else.
|
||||
|
||||
The most sane solution now seems to be to simply forbid the cpufreq
|
||||
driver on 1.2 GHz variant.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx")
|
||||
---
|
||||
drivers/cpufreq/armada-37xx-cpufreq.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
@@ -102,7 +102,11 @@ struct armada_37xx_dvfs {
|
||||
};
|
||||
|
||||
static struct armada_37xx_dvfs armada_37xx_dvfs[] = {
|
||||
- {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} },
|
||||
+ /*
|
||||
+ * The cpufreq scaling for 1.2 GHz variant of the SOC is currently
|
||||
+ * unstable because we do not know how to configure it properly.
|
||||
+ */
|
||||
+ /* {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, */
|
||||
{.cpu_freq_max = 1000*1000*1000, .divider = {1, 2, 4, 5} },
|
||||
{.cpu_freq_max = 800*1000*1000, .divider = {1, 2, 3, 4} },
|
||||
{.cpu_freq_max = 600*1000*1000, .divider = {2, 4, 5, 6} },
|
Loading…
Reference in New Issue
Block a user