[PATCH 14/26] ARM: OMAP3: clock: Add 3xxx data using common struct clk
Mike Turquette
mturquette at ti.com
Thu Nov 8 16:52:50 EST 2012
Quoting Paul Walmsley (2012-11-08 10:08:16)
> On Wed, 7 Nov 2012, Mike Turquette wrote:
>
> > From: Rajendra Nayak <rnayak at ti.com>
> >
> > The patch is the output from a python script which converts
> > from the old OMAP clk format to COMMON clk format using a
> > JSON parser in between which was developed by Paul Walmsley.
> >
> > Signed-off-by: Rajendra Nayak <rnayak at ti.com>
> > [paul at pwsan.com: AM3517/05: dropped bogus hsotgusb "ick" and "fck"
> > clkdev aliases; added hsotgusb_fck alias; added emac_ick and emac_fck
> > aliases; replace omap2_init_clksel_parent() with
> > omap2_clksel_find_parent_index(); reflow macros and parent name
> > lists; add clkdm_name argument to DEFINE_STRUCT_CLK_HW_OMAP macros]
> > Signed-off-by: Mike Turquette <mturquette at ti.com>
>
> Am seeing warnings during the disable-unused-clocks phase of the boot
> on the OMAP3 test boards here. Log is included at the bottom of this
> E-mail, with some debugging added for extra context. The problem
> appears to be that the clock code is disabling clocks that are active
> in the hardware, but for which the clockdomain use count is 0, since
> they've never been enabled.
>
Right. The old omap2_disabled_unused_clocks code used to call
omap2_clk_enable before calling omap2_clk_disable. That approach is
sort of "cooking the books" and the generic implementation in
drivers/clk/clk.c simply disables the clocks (without first enabling),
which is why these WARNs are new.
> Ideally there would be some way for the core CCF code to indicate to the
> underlying clock hardware implementation that the disable-unused-clock
> process is a 'force disable'. The OMAP clock hardware implementation code
> could then also put the clockdomain to sleep (and skip the warning) in
> such a circumstance.
>
I'm looking at a few different ways to do that now.
Regards,
Mike
>
> - Paul
>
> [ 2.685943] disabling sys_clkout1: ec = 0
> [ 2.690277] disabling wdt1_ick: ec = 0
> [ 2.694366] disabling cam_mclk: ec = 0
> [ 2.698333] ------------[ cut here ]------------
> [ 2.703216] WARNING: at arch/arm/mach-omap2/clockdomain.c:961 _clkdm_clk_hwmod_disable+0xc4/0xd8()
> [ 2.712646] Modules linked in:
> [ 2.715911] [<c001c38c>] (unwind_backtrace+0x0/0xf0) from [<c0043cd8>] (warn_slowpath_common+0x4c/0x64)
> [ 2.725799] [<c0043cd8>] (warn_slowpath_common+0x4c/0x64) from [<c0043d0c>] (warn_slowpath_null+0x1c/0x24)
> [ 2.735961] [<c0043d0c>] (warn_slowpath_null+0x1c/0x24) from [<c003705c>] (_clkdm_clk_hwmod_disable+0xc4/0xd8)
> [ 2.746520] [<c003705c>] (_clkdm_clk_hwmod_disable+0xc4/0xd8) from [<c0437bd0>] (clk_disable_unused_subtree+0xb0/0xbc)
> [ 2.757781] [<c0437bd0>] (clk_disable_unused_subtree+0xb0/0xbc) from [<c0437b40>] (clk_disable_unused_subtree+0x20/0xbc)
> [ 2.769226] ---[ end trace ebefd5468131571a ]---
> [ 2.774261] disabling mspro_fck: ec = 0
> [ 2.778320] disabling ssi_ssr_fck_3430es2: ec = 0
> [ 2.783355] disabling pka_ick: ec = 0
> [ 2.787231] disabling sad2d_ick: ec = 0
> [ 2.791259] ------------[ cut here ]------------
> [ 2.796142] WARNING: at arch/arm/mach-omap2/clockdomain.c:961 _clkdm_clk_hwmod_disable+0xc4/0xd8()
> [ 2.805572] Modules linked in:
> [ 2.808807] [<c001c38c>] (unwind_backtrace+0x0/0xf0) from [<c0043cd8>] (warn_slowpath_common+0x4c/0x64)
> [ 2.818695] [<c0043cd8>] (warn_slowpath_common+0x4c/0x64) from [<c0043d0c>] (warn_slowpath_null+0x1c/0x24)
> [ 2.828857] [<c0043d0c>] (warn_slowpath_null+0x1c/0x24) from [<c003705c>] (_clkdm_clk_hwmod_disable+0xc4/0xd8)
> [ 2.839416] [<c003705c>] (_clkdm_clk_hwmod_disable+0xc4/0xd8) from [<c0437bd0>] (clk_disable_unused_subtree+0xb0/0xbc)
> [ 2.850677] [<c0437bd0>] (clk_disable_unused_subtree+0xb0/0xbc) from [<c0437b40>] (clk_disable_unused_subtree+0x20/0xbc)
> [ 2.862121] ---[ end trace ebefd5468131571b ]---
> [ 2.867065] disabling wdt3_ick: ec = 0
> [ 2.871032] disabling des1_ick: ec = 0
> [ 2.875030] disabling sha11_ick: ec = 0
> [ 2.879089] disabling rng_ick: ec = 0
> [ 2.882995] disabling aes1_ick: ec = 0
> [ 2.886932] disabling ssi_ick_3430es2: ec = 0
> [ 2.891601] disabling mspro_ick: ec = 0
> [ 2.895660] disabling des2_ick: ec = 0
> [ 2.899658] disabling sha12_ick: ec = 0
> [ 2.903686] disabling aes2_ick: ec = 0
> [ 2.907684] disabling icr_ick: ec = 0
> [ 2.911621] disabling wdt3_fck: ec = 0
More information about the linux-arm-kernel
mailing list