lkml.org 
[lkml]   [2021]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 037/127] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant
    Date
    From: Marek Behún <kabel@kernel.org>

    [ Upstream commit 484f2b7c61b9ae58cc00c5127bcbcd9177af8dfe ]

    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")
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/cpufreq/armada-37xx-cpufreq.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/cpufreq/armada-37xx-cpufreq.c b/drivers/cpufreq/armada-37xx-cpufreq.c
    index 3fc98a3ffd91..c10fc33b29b1 100644
    --- a/drivers/cpufreq/armada-37xx-cpufreq.c
    +++ b/drivers/cpufreq/armada-37xx-cpufreq.c
    @@ -104,7 +104,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} },
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-08-24 18:58    [W:4.074 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site