aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod.c
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@ti.com>2010-09-21 10:28:30 -0400
committerPaul Walmsley <paul@pwsan.com>2010-09-21 17:28:30 -0400
commit9980ce53c97392a3dbdc9d1ac3e455d79b4167ed (patch)
treea1d43a68184659dcadf42010e3d292a1e1b9bd94 /arch/arm/mach-omap2/omap_hwmod.c
parent96835af970e5d6aeedf868e53590a947be5e4a7a (diff)
OMAP: hwmod: Enable module wakeup if in smartidle
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/linux-omap@vger.kernel.org/msg34212.html has additional technical information on the rationale of this patch. Sergei Shtylyov <sshtylyov@mvista.com> identified an indentation problem with this patch - thanks, Sergei. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Partha Basak <p-basak2@ti.com> Signed-off-by: BenoƮt Cousson <b-cousson@ti.com> [paul@pwsan.com: revised patch description] Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Sergei Shtylyov <sshtylyov@mvista.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c6
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 f320cfb911d5..d694067e6e9a 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -691,8 +691,6 @@ static void _sysc_enable(struct omap_hwmod *oh)
691 _set_module_autoidle(oh, idlemode, &v); 691 _set_module_autoidle(oh, idlemode, &v);
692 } 692 }
693 693
694 /* XXX OCP ENAWAKEUP bit? */
695
696 /* 694 /*
697 * XXX The clock framework should handle this, by 695 * XXX The clock framework should handle this, by
698 * calling into this code. But this must wait until the 696 * calling into this code. But this must wait until the
@@ -703,6 +701,10 @@ static void _sysc_enable(struct omap_hwmod *oh)
703 _set_clockactivity(oh, oh->class->sysc->clockact, &v); 701 _set_clockactivity(oh, oh->class->sysc->clockact, &v);
704 702
705 _write_sysconfig(v, oh); 703 _write_sysconfig(v, oh);
704
705 /* If slave is in SMARTIDLE, also enable wakeup */
706 if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE))
707 _enable_wakeup(oh);
706} 708}
707 709
708/** 710/**