Hi Rajendra, On Tue, 21 Sep 2010, Rajendra Nayak wrote:
> If a module's OCP slave port is programmed to be in smartidle, > its also necessary that they have module level wakeup enabled. > Update _sysc_enable in hwmod framework to do this. Thanks, queued for 2.6.37 with a slightly modified changelog. One brief comment: > Signed-off-by: Rajendra Nayak <[email protected]> > Signed-off-by: Partha Basak <[email protected]> > Signed-off-by: Beno????t Cousson <[email protected]> Looks like something in your mail path is mangling 8-bit characters... fixed in the queued version. - Paul From: Rajendra Nayak <[email protected]> Date: Tue, 21 Sep 2010 19:58:30 +0530 Subject: [PATCH] OMAP: hwmod: Enable module wakeup if in smartidle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a module's OCP slave port is programmed to be in smartidle, its also necessary that they have module level wakeup enabled. Update _sysc_enable in hwmod framework to do this. The thread "[PATCH 7/8] : Hwmod api changes" archived here: http://www.mail-archive.com/[email protected]/msg34212.html has additional technical information on the rationale of this patch. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Partha Basak <[email protected]> Signed-off-by: BenoƮt Cousson <[email protected]> [[email protected]: revised patch description] Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]> --- arch/arm/mach-omap2/omap_hwmod.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 8c27923..d3431bf 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -661,8 +661,6 @@ static void _sysc_enable(struct omap_hwmod *oh) _set_module_autoidle(oh, idlemode, &v); } - /* XXX OCP ENAWAKEUP bit? */ - /* * XXX The clock framework should handle this, by * calling into this code. But this must wait until the @@ -673,6 +671,10 @@ static void _sysc_enable(struct omap_hwmod *oh) _set_clockactivity(oh, oh->class->sysc->clockact, &v); _write_sysconfig(v, oh); + + /* If slave is in SMARTIDLE, also enable wakeup */ + if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE)) + _enable_wakeup(oh); } /** -- 1.7.1
