Skip to content
Commit e93033af authored by Pali Rohár's avatar Pali Rohár Committed by Viresh Kumar
Browse files

clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0



When CPU frequency is at 250 MHz and set_rate() is called with 500 MHz (L1)
quickly followed by a call with 1 GHz (L0), the CPU does not necessarily
stay in L1 for at least 20ms as is required by Marvell errata.

This situation happens frequently with the ondemand cpufreq governor and
can be also reproduced with userspace governor. In most cases it causes CPU
to crash.

This change fixes the above issue and ensures that the CPU always stays in
L1 for at least 20ms when switching from any state to L0.

Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
Signed-off-by: default avatarPali Rohár <pali@kernel.org>
Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Acked-by: default avatarGregory CLEMENT <gregory.clement@bootlin.com>
Tested-by: default avatarTomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: default avatarAnders Trier Olesen <anders.trier.olesen@gmail.com>
Tested-by: default avatarPhilip Soares <philips@netisense.com>
Fixes: 61c40f35 ("clk: mvebu: armada-37xx-periph: Fix switching CPU rate from 300Mhz to 1.2GHz")
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent 4decb918
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment