remarkable-linux/drivers/clk/imx
Fabio Estevam 1fd92dbaab clk: imx7d: do not set the parent of IMX7D_ENET_AXI_ROOT_SRC
Booting the kernel on a imx7s-warp leads to several warnings like these:

[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:3536 lock_release+0x2f8/0x330
[    0.000000] releasing a pinned lock

[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:2722 trace_hardirqs_on_caller+0x1ac/0x1f4
[    0.000000] DEBUG_LOCKS_WARN_ON(unlikely(early_boot_irqs_disabled))

[    0.000000] ---[ end trace cb88537fdc8fa201 ]---
[    0.000000] bad: scheduling from the idle thread!
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W       4.7.0-rc7-next-20160715 #404

[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at kernel/time/sched_clock.c:179 sched_clock_register+0x44/0x1f8
[    0.000000] Modules linked in:

[    0.000591] ------------[ cut here ]------------
[    0.000610] WARNING: CPU: 0 PID: 0 at kernel/time/sched_clock.c:179 sched_clock_register+0x44/0x1f8

[    0.002084] ------------[ cut here ]------------
[    0.002104] WARNING: CPU: 0 PID: 0 at init/main.c:576 start_kernel+0x258/0x3b0
[    0.002114] Interrupts were enabled early

This fix is along the same lines as 5e33ebff7e ("clk: imx7d: do not
set parent of ethernet time/ref clocks") and the explanation from that
commit is:

"The reason for the warning is that setting the parent enables the ENET
 PLL since we are using CLK_OPS_PARENT_ENABLE. Enabling the ENET PLL can
 cause clk_pllv3_wait_lock to sleep. See also:
 commit fc8726a2c0 ("clk: core: support clocks which requires parents
 enable (part 2)")."

imx7s-warp does not even use the FEC interface, so we should not really
configure the parent of IMX7D_ENET_AXI_ROOT_SRC in the common MX7 clock
driver code.

The dts file should use the assigned-clocks/assigned-clock-parents method,
so simply remove the configuration of IMX7D_ENET_AXI_ROOT_SRC parent.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-08-11 18:49:20 -07:00
..
clk-busy.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-cpu.c clk: imx: clk-cpu: Include "clk.h" header file 2015-06-03 14:49:34 +08:00
clk-fixup-div.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-fixup-mux.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate-exclusive.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate2.c clk: imx: clk-gate2: allow custom gate configuration 2016-03-31 17:01:55 +08:00
clk-imx1.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-imx6q.c clk: imx: fix pll clock parents 2016-06-12 21:21:41 +08:00
clk-imx6sl.c clk: imx: fix pll clock parents 2016-06-12 21:21:41 +08:00
clk-imx6sx.c clk: imx: fix pll clock parents 2016-06-12 21:21:41 +08:00
clk-imx6ul.c clk: imx6ul: fix gpt2 clock names 2016-06-16 09:05:55 +08:00
clk-imx7d.c clk: imx7d: do not set the parent of IMX7D_ENET_AXI_ROOT_SRC 2016-08-11 18:49:20 -07:00
clk-imx21.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-imx25.c clk: imx25: Remove osc clock from driver 2015-11-25 11:49:42 +08:00
clk-imx27.c clk: imx27: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx31.c clk: imx31: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx35.c ARM: dts: imx35: restore existing used clock enumeration 2016-04-18 12:37:21 +08:00
clk-imx51-imx53.c clk: imx5: ipu_di_sel clocks can set parent rates 2015-12-02 21:02:33 +08:00
clk-pfd.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-pllv1.c imx/clk-pllv1: fix wrong do_div() usage 2015-11-30 12:58:35 -08:00
clk-pllv2.c imx/clk-pllv2: fix wrong do_div() usage 2015-11-30 12:58:38 -08:00
clk-pllv3.c clk: imx: refine the powerdown bit of clk-pllv3 2016-06-16 09:05:05 +08:00
clk-vf610.c clk: imx: vf610: Disable automatic clock gating for lpuart in LPSTOP mode 2016-07-08 11:38:17 -07:00
clk.c clk: imx: add common logic to detect early UART usage 2015-09-25 21:58:41 -07:00
clk.h clk: imx: add clk api for supporting CLK_OPS_PARENT_ENABLE clocks 2016-07-01 17:43:19 -07:00
Makefile clk: imx: add imx6ul clk tree support 2015-07-14 15:02:13 +08:00