[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0d5518be-9b22-a714-f5f0-72aadc2eebf5@gmail.com>
Date: Mon, 1 Feb 2021 15:35:18 +0100
From: Tomasz Maciej Nowak <tmn505@...il.com>
To: Pali Rohár <pali@...nel.org>,
Gregory Clement <gregory.clement@...tlin.com>,
Andrew Lunn <andrew@...n.ch>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-clk@...r.kernel.org
Cc: Marek Behún <kabel@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Luka Perkov <luka.perkov@...tura.hr>,
Andre Heider <a.heider@...il.com>,
Vladimir Vid <vladimir.vid@...tura.hr>,
Russell King <rmk+kernel@...linux.org.uk>,
Gérald Kerma <gerald@....net>,
Konstantin Porotchkin <kostap@...vell.com>
Subject: Re: [PATCH mvebu v2 00/10] Armada 37xx: Fix cpufreq changing base CPU
speed to 800 MHz from 1000 MHz
W dniu 14.01.2021 o 13:40, Pali Rohár pisze:
> Hello!
>
> The armada-37xx-cpufreq driver changes base CPU speed from 1000 MHz to
> 800 MHz on EspressoBIN and Turris MOX. The commit message in patch 2/10
> explains why and how can this be discovered.
>
> That patch 2/10 led us to discover another bug, in the SOC itself,
> that causes the CPU to behave weirdly when frequency changes to 1 GHz.
> A similar erratum is documented by Marvell but only for systems where
> base frequency is 1.2 GHz.
>
> We've discovered that to make cpufreq scaling stable on Armada 3720
> systems with base frequency 1 GHz, we also have to set voltage levels
> for L0 and L1 loads to at least 1108 mV. We were led to this by patch we
> found in Marvell kernel fork. Fix is in the patch 4/10.
>
> https://github.com/MarvellEmbeddedProcessors/linux-marvell/commit/dc33b62c90696afb6adc7dbcc4ebbd48bedec269
>
> During fixing this voltage issue for 1 GHz we discovered another bug in
> armada-37xx-cpufreq driver that causes CPU instability. Erratum for VDD
> stabilization was improperly implemented, details are in patch 6/10.
>
> This patch series is also available in my git tree in branch a3720-cpufreq-issues:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/pali/linux.git/log/?h=a3720-cpufreq-issues
>
> We have tested this patch series on Espressobin v5 and Turris MOX
> boards. If you have other Armada 3720 boards (Espressobin v5/v7, uDPU,
> Devel Board, ...) then it will be nice to do an additional tests and
> check if instability issues are finally fixed.
>
> There is a discussion on armbian forum that Espressobin v7 is unstable
> when running at 1 GHz and in this thread was also mentioned above
> voltage patch from Marvell kernel fork:
>
> https://forum.armbian.com/topic/10429-how-to-make-espressobin-v7-stable/
>
> Marek & Pali
>
>
> Marek Behún (3):
> arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
> cpufreq: armada-37xx: Fix setting TBG parent for load levels
> clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM
> clock
>
> Pali Rohár (7):
> cpufreq: armada-37xx: Fix the AVS value for loads L0 and L1
> clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to
> 1 GHz
> clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1
> to L0
> cpufreq: armada-37xx: Fix driver cleanup when registration failed
> cpufreq: armada-37xx: Fix determining base CPU frequency
> cpufreq: armada-37xx: Remove cur_frequency variable
> cpufreq: armada-37xx: Fix module unloading
Hi.
After running this series for three days, the system is stable and the
issue with switching frequency doesn't seem to be there anymore. So:
Tested-by: Tomasz Maciej Nowak <tmn505@...il.com>
Thanks.
>
> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 3 +-
> drivers/clk/mvebu/armada-37xx-periph.c | 83 ++++++++-------
> drivers/cpufreq/armada-37xx-cpufreq.c | 100 ++++++++++++++-----
> 3 files changed, 124 insertions(+), 62 deletions(-)
>
--
TMN
Powered by blists - more mailing lists