Paul, >-----Original Message----- >From: Kalliguddi, Hema >Sent: Friday, September 24, 2010 9:17 AM >To: linux-omap@xxxxxxxxxxxxxxx >Cc: Kalliguddi, Hema; Basak, Partha; Balbi, Felipe; Tony >Lindgren; Kevin Hilman; Cousson, Benoit; Paul Walmsley >Subject: [PATCH] OMAP: hwmod: Set autoidle after smartidle >during _sysc_enable > >OMAP USBOTG module has a requirement to set the autoidle bit only after >setting smartidle bit. Modified the _sys_enable api to set the >smartidle >first and then the autoidle bit. Setting this will not have >any impact on the >other modules. > Review comments from Benoit and Sergie are fixed in this patch. Benoit acked the older version of the patch and you had asked me re-post with Review comments incorporated. http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg35464.html >Signed-off-by: Hema HK <hemahk@xxxxxx> >Signed-off-by: Basak, Partha <p-basak2@xxxxxx> >Cc: Felipe Balbi <balbi@xxxxxx> >Cc: Tony Lindgren <tony@xxxxxxxxxxx> >Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> >Cc: Cousson, Benoit <b-cousson@xxxxxx> >Cc: Paul Walmsley <paul@xxxxxxxxx> >--- > arch/arm/mach-omap2/omap_hwmod.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > >Index: linux-omap-pm/arch/arm/mach-omap2/omap_hwmod.c >=================================================================== >--- linux-omap-pm.orig/arch/arm/mach-omap2/omap_hwmod.c >+++ linux-omap-pm/arch/arm/mach-omap2/omap_hwmod.c >@@ -654,12 +654,6 @@ static void _sysc_enable(struct omap_hwm > _set_master_standbymode(oh, idlemode, &v); > } > >- if (sf & SYSC_HAS_AUTOIDLE) { >- idlemode = (oh->flags & HWMOD_NO_OCP_AUTOIDLE) ? >- 0 : 1; >- _set_module_autoidle(oh, idlemode, &v); >- } >- > /* XXX OCP ENAWAKEUP bit? */ > > /* >@@ -672,6 +666,18 @@ static void _sysc_enable(struct omap_hwm > _set_clockactivity(oh, oh->class->sysc->clockact, &v); > > _write_sysconfig(v, oh); >+ >+ /* >+ * Set the autoidle bit only after setting the smartidle bit >+ * as this is requirement for some modules like USBOTG. >+ * Setting this will not have any impact on the other modules. >+ */ >+ if (sf & SYSC_HAS_AUTOIDLE) { >+ idlemode = (oh->flags & HWMOD_NO_OCP_AUTOIDLE) ? >+ 0 : 1; >+ _set_module_autoidle(oh, idlemode, &v); >+ _write_sysconfig(v, oh); >+ } > } > > /** >-- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html