Commit 89a8263a0d6cfa36d5415ea48d76fde4231f4386
Committed by
Greg Kroah-Hartman
1 parent
b8bb5472da
ARM: imx6: Initialize low-power mode early again
commit e7c57ecd6019cc6392223605aed18cce257c3eff upstream. Since commit 9e8147bb5ec5d1dda2141da70f96b98985a306cb "ARM: imx6q: move low-power code out of clock driver" the kernel fails to boot on i.MX6Q/D if preemption is enabled (CONFIG_PREEMPT=y). The kernel just hangs before the console comes up. The above commit moved the initalization of the low-power mode setting (enabling clocked WAIT states), which was introduced in commit 83ae20981ae924c37d02a42c829155fc3851260c "ARM: imx: correct low-power mode setting", from imx6q_clks_init to imx6q_pm_init. Now it is called much later, after all cores are enabled. This patch moves the low-power mode initialization back to imx6q_clks_init again (and to imx6sl_clks_init). Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 3 changed files with 6 additions and 2 deletions Side-by-side Diff
arch/arm/mach-imx/clk-imx6q.c
... | ... | @@ -479,6 +479,9 @@ |
479 | 479 | if (IS_ENABLED(CONFIG_PCI_IMX6)) |
480 | 480 | clk_set_parent(clk[lvds1_sel], clk[sata_ref]); |
481 | 481 | |
482 | + /* Set initial power mode */ | |
483 | + imx6q_set_lpm(WAIT_CLOCKED); | |
484 | + | |
482 | 485 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); |
483 | 486 | base = of_iomap(np, 0); |
484 | 487 | WARN_ON(!base); |
arch/arm/mach-imx/clk-imx6sl.c
... | ... | @@ -261,6 +261,9 @@ |
261 | 261 | clk_prepare_enable(clks[IMX6SL_CLK_USBPHY2_GATE]); |
262 | 262 | } |
263 | 263 | |
264 | + /* Set initial power mode */ | |
265 | + imx6q_set_lpm(WAIT_CLOCKED); | |
266 | + | |
264 | 267 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); |
265 | 268 | base = of_iomap(np, 0); |
266 | 269 | WARN_ON(!base); |
arch/arm/mach-imx/pm-imx6q.c