[RFC PATCH] ARM: OMAP2+: Fix updating of sysconfig register
Paul Walmsley
paul at pwsan.com
Tue Mar 1 09:03:35 PST 2016
+ Jon Hunter
On Tue, 1 Mar 2016, Lokesh Vutla wrote:
> commit 127500ccb766f ("ARM: OMAP2+: Only write the sysconfig on idle
> when necessary") talks about verification of sysconfig cache value before
> updating it, only during idle path. But the patch is adding the
> verification in the enable path. So, adding the check in a proper place
> as per the commit description.
>
> Not keeping this check during enable path as there is a chance of losing
> context and it is safe to do on idle as the context of the register will
> never be lost while the device is active.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index e9f65fe..71b3747 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -1416,9 +1416,7 @@ static void _enable_sysc(struct omap_hwmod *oh)
> (sf & SYSC_HAS_CLOCKACTIVITY))
> _set_clockactivity(oh, oh->class->sysc->clockact, &v);
>
> - /* If the cached value is the same as the new value, skip the write */
> - if (oh->_sysc_cache != v)
> - _write_sysconfig(v, oh);
> + _write_sysconfig(v, oh);
>
> /*
> * Set the autoidle bit only after setting the smartidle bit
> @@ -1481,7 +1479,9 @@ static void _idle_sysc(struct omap_hwmod *oh)
> _set_master_standbymode(oh, idlemode, &v);
> }
>
> - _write_sysconfig(v, oh);
> + /* If the cached value is the same as the new value, skip the write */
> + if (oh->_sysc_cache != v)
> + _write_sysconfig(v, oh);
> }
>
> /**
> --
> 2.1.4
>
- Paul
More information about the linux-arm-kernel
mailing list