[RFC PATCH] ARM: OMAP2+: Fix updating of sysconfig register
Lokesh Vutla
a0131933 at ti.com
Tue Mar 1 19:36:52 PST 2016
On Tuesday 01 March 2016 10:33 PM, Paul Walmsley wrote:
> + 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.
When the patch was originally posted[1], this check was in proper place
itself. Not sure what happened after that.
[1] https://www.mail-archive.com/linux-omap%40vger.kernel.org/msg78032.html
Thanks and regards,
Lokesh
>>
>> 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