[PATCH] clk: imx7d: do not set the parent of IMX7D_ENET_AXI_ROOT_SRC
Fabio Estevam
festevam at gmail.com
Wed Aug 10 04:37:04 PDT 2016
Hi Mike,
On Fri, Jul 15, 2016 at 10:53 AM, Fabio Estevam <fabio.estevam at nxp.com> wrote:
> 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 5e33ebff7edd ("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 fc8726a2c021 ("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 at nxp.com>
Do you think this one could be applied to 4.8-rc?
Thanks
More information about the linux-arm-kernel
mailing list