]> git.baikalelectronics.ru Git - kernel.git/commit
clk: imx8m: Use SYS_PLL1_800M as intermediate parent of CLK_ARM
authorLeonard Crestez <leonard.crestez@nxp.com>
Tue, 22 Oct 2019 19:21:28 +0000 (22:21 +0300)
committerStephen Boyd <sboyd@kernel.org>
Mon, 28 Oct 2019 09:45:37 +0000 (02:45 -0700)
commit27123f027f00752b55b3a15a14a4fd29aa26bfc8
treee367108b5ff9ca0e5be2d558bb017cae3c2ed24e
parent22bed4e5d393b945aa2766e7015a23422ce2c12a
clk: imx8m: Use SYS_PLL1_800M as intermediate parent of CLK_ARM

During cpu frequency switching the main "CLK_ARM" is reparented to an
intermediate "step" clock. On imx8mm and imx8mn the 24M oscillator is
used for this purpose but it is extremely slow, increasing wakeup
latencies to the point that i2c transactions can timeout and system
becomes unresponsive.

Fix by switching the "step" clk to SYS_PLL1_800M, matching the behavior
of imx8m cpufreq drivers in imx vendor tree.

This bug was not immediately apparent because upstream arm64 defconfig
uses the "performance" governor by default so no cpufreq transitions
happen.

Fixes: d3ecbedebdd0 ("clk: imx: Add clock driver support for imx8mm")
Fixes: 75c04db8d9e7 ("clk: imx: Add support for i.MX8MN clock driver")
Cc: stable@vger.kernel.org
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Link: https://lkml.kernel.org/r/f5d2b9c53f1ed5ccb1dd3c6624f56759d92e1689.1571771777.git.leonard.crestez@nxp.com
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/imx/clk-imx8mm.c
drivers/clk/imx/clk-imx8mn.c