* [PATCH v2] OMAP: hwmod: Update the sysc_cache in case module context is lost
@ 2010-10-26 13:00 Rajendra Nayak
2010-11-09 20:55 ` Kevin Hilman
0 siblings, 1 reply; 2+ messages in thread
From: Rajendra Nayak @ 2010-10-26 13:00 UTC (permalink / raw)
To: linux-omap
Cc: Rajendra Nayak, Paul Walmsley, Benoit Cousson, Santosh Shilimkar,
Kevin Hilman
Do not skip the sysc programming in the hmwod framework based
on the cached value alone, since at times the module might have lost
context (due to the Powerdomain in which the module belongs
transitions to either Open Switch RET or OFF).
Identifying if a module has lost context requires atleast one
register read, and since a register read has more latency than
a write, it makes sense to do a blind write always.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
---
arch/arm/mach-omap2/omap_hwmod.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 5a30658..aadd6dc 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -209,10 +209,9 @@ static void _write_sysconfig(u32 v, struct omap_hwmod *oh)
/* XXX ensure module interface clock is up */
- if (oh->_sysc_cache != v) {
- oh->_sysc_cache = v;
- omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs);
- }
+ /* Module might have lost context, always update cache and register */
+ oh->_sysc_cache = v;
+ omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs);
}
/**
--
1.7.0.4
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] OMAP: hwmod: Update the sysc_cache in case module context is lost
2010-10-26 13:00 [PATCH v2] OMAP: hwmod: Update the sysc_cache in case module context is lost Rajendra Nayak
@ 2010-11-09 20:55 ` Kevin Hilman
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Hilman @ 2010-11-09 20:55 UTC (permalink / raw)
To: Rajendra Nayak
Cc: linux-omap, Paul Walmsley, Benoit Cousson, Santosh Shilimkar
Rajendra Nayak <rnayak@ti.com> writes:
> Do not skip the sysc programming in the hmwod framework based
> on the cached value alone, since at times the module might have lost
> context (due to the Powerdomain in which the module belongs
> transitions to either Open Switch RET or OFF).
>
> Identifying if a module has lost context requires atleast one
> register read, and since a register read has more latency than
> a write, it makes sense to do a blind write always.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> Cc: Paul Walmsley <paul@pwsan.com>
> Cc: Benoit Cousson <b-cousson@ti.com>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 7 +++----
> 1 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 5a30658..aadd6dc 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -209,10 +209,9 @@ static void _write_sysconfig(u32 v, struct omap_hwmod *oh)
>
> /* XXX ensure module interface clock is up */
>
> - if (oh->_sysc_cache != v) {
> - oh->_sysc_cache = v;
> - omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs);
> - }
> + /* Module might have lost context, always update cache and register */
> + oh->_sysc_cache = v;
> + omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs);
> }
>
> /**
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-11-09 20:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-26 13:00 [PATCH v2] OMAP: hwmod: Update the sysc_cache in case module context is lost Rajendra Nayak
2010-11-09 20:55 ` Kevin Hilman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.