Quoting Paul Walmsley (2012-11-08 10:08:16) > On Wed, 7 Nov 2012, Mike Turquette wrote: > > > From: Rajendra Nayak <rnayak@xxxxxx> > > > > 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@xxxxxx> > > [paul@xxxxxxxxx: 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@xxxxxx> > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html