[PATCHv3 5/9] ARM: OMAP3: set autoidle flags for a few clocks

Rajendra Nayak rnayak at ti.com
Thu Jul 12 05:13:27 EDT 2012


Hi Tero,

On Thursday 31 May 2012 06:58 PM, Tero Kristo wrote:
> dpll3, dpll4 and sdrc_ick are controlled automatically by hardware.

sdrc_ick does not seem to have a software control to enable/disable
this automatic control in hardware, so what you are doing in the
patch below seems fine.
However for dpll3 and dpll4, there is indeed a software control which
is enabled/disabled through omap3_dpll_allow_idle/omap3_dpll_deny_idle
functions respectively. So shouldn't the 'autoidle' flag for them be
handled similar to what you do in omap2_clkt_iclk_allow_idle/
omap2_clkt_iclk_deny_idle functions in your PATCH 2/9, instead of
setting them to 'true' statically?

regards,
Rajendra

> Thus, reflect this with the autoidle flags, the clocks will no longer
> show as active in usecount dumps and will allow the voltdm->sleep /
> wakeup calls to work properly.
>
> Signed-off-by: Tero Kristo<t-kristo at ti.com>
> Cc: Paul Walmsley<paul at pwsan.com>
> Cc: Kevin Hilman<khilman at ti.com>
> ---
>   arch/arm/mach-omap2/clock3xxx_data.c |    3 +++
>   1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
> index 4e1a3b0..ca0de28 100644
> --- a/arch/arm/mach-omap2/clock3xxx_data.c
> +++ b/arch/arm/mach-omap2/clock3xxx_data.c
> @@ -434,6 +434,7 @@ static struct clk dpll3_ck = {
>   	.round_rate	=&omap2_dpll_round_rate,
>   	.clkdm_name	= "dpll3_clkdm",
>   	.recalc		=&omap3_dpll_recalc,
> +	.autoidle	= true,
>   };
>
>   /*
> @@ -617,6 +618,7 @@ static struct clk dpll4_ck = {
>   	.set_rate	=&omap3_dpll4_set_rate,
>   	.clkdm_name	= "dpll4_clkdm",
>   	.recalc		=&omap3_dpll_recalc,
> +	.autoidle	= true,
>   };
>
>   /*
> @@ -1751,6 +1753,7 @@ static struct clk sdrc_ick = {
>   	.flags		= ENABLE_ON_INIT,
>   	.clkdm_name	= "core_l3_clkdm",
>   	.recalc		=&followparent_recalc,
> +	.autoidle	= true,
>   };
>
>   static struct clk gpmc_fck = {




More information about the linux-arm-kernel mailing list