Message ID | 1350552010-28760-3-git-send-email-t-kristo@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Tero Kristo <t-kristo@ti.com> writes: > Added similar PM errata flag support as omap3 has. This should be used > in similar manner, set the flags during init time, and check the flag > values during runtime. > > Signed-off-by: Tero Kristo <t-kristo@ti.com> These allow basic suspend/resume to work on 4460/Panda-ES, so I'm going to queue these up as fixes. However, since they're not technically regressions, it may be too late to get them in for v3.7, but they'll be in for v3.8 for sure. Kevin > --- > arch/arm/mach-omap2/pm.h | 7 +++++++ > arch/arm/mach-omap2/pm44xx.c | 1 + > 2 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h > index 707e9cb..f26f2d7 100644 > --- a/arch/arm/mach-omap2/pm.h > +++ b/arch/arm/mach-omap2/pm.h > @@ -100,6 +100,13 @@ extern void enable_omap3630_toggle_l2_on_restore(void); > static inline void enable_omap3630_toggle_l2_on_restore(void) { } > #endif /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */ > > +#if defined(CONFIG_ARCH_OMAP4) > +extern u16 pm44xx_errata; > +#define IS_PM44XX_ERRATUM(id) (pm44xx_errata & (id)) > +#else > +#define IS_PM44XX_ERRATUM(id) 0 > +#endif > + > #ifdef CONFIG_POWER_AVS_OMAP > extern int omap_devinit_smartreflex(void); > extern void omap_enable_smartreflex_on_init(void); > diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c > index ba06300..07e7ef2 100644 > --- a/arch/arm/mach-omap2/pm44xx.c > +++ b/arch/arm/mach-omap2/pm44xx.c > @@ -33,6 +33,7 @@ struct power_state { > }; > > static LIST_HEAD(pwrst_list); > +u16 pm44xx_errata; > > #ifdef CONFIG_SUSPEND > static int omap4_pm_suspend(void)
Kevin Hilman <khilman@deeprootsystems.com> writes: > Tero Kristo <t-kristo@ti.com> writes: > >> Added similar PM errata flag support as omap3 has. This should be used >> in similar manner, set the flags during init time, and check the flag >> values during runtime. >> >> Signed-off-by: Tero Kristo <t-kristo@ti.com> > > These allow basic suspend/resume to work on 4460/Panda-ES, so I'm going > to queue these up as fixes. > > However, since they're not technically regressions, it may be too late > to get them in for v3.7, but they'll be in for v3.8 for sure. To be more specific, I'm planning on queuing patches 2, 3 and 6 as fixes for v3.8 (branch: for_3.8/fixes/pm). Paul has already queued patch 1, so that leaves patches 4, 5, 7 & 8. I think we can get this series in for v3.8 if we drop the functional pwrst dependency. To test, I dropped patches 5 & 7, and tested on 4430/Panda and 4460/Panda-ES (with latest mainline u-boot) and CORE is hitting retention just fine in suspend. If you can respin patch 8 based on the feedback from Felipe, I'll queue up patches 4 & 8 for v3.8 as well, then we'll at least have CORE retention in suspend in mainline. Then, the rest can be done when functional pwrsts are ready. Kevin P.S. do you have any patches to add any OMAP4 CPUidle support for CORE retention? Paul has already queued patch 1, and that leaves the
On Tue, 2012-11-06 at 13:52 -0800, Kevin Hilman wrote: > Kevin Hilman <khilman@deeprootsystems.com> writes: > > > Tero Kristo <t-kristo@ti.com> writes: > > > >> Added similar PM errata flag support as omap3 has. This should be used > >> in similar manner, set the flags during init time, and check the flag > >> values during runtime. > >> > >> Signed-off-by: Tero Kristo <t-kristo@ti.com> > > > > These allow basic suspend/resume to work on 4460/Panda-ES, so I'm going > > to queue these up as fixes. > > > > However, since they're not technically regressions, it may be too late > > to get them in for v3.7, but they'll be in for v3.8 for sure. > > To be more specific, I'm planning on queuing patches 2, 3 and 6 as fixes > for v3.8 (branch: for_3.8/fixes/pm). > > Paul has already queued patch 1, so that leaves patches 4, 5, 7 & 8. > > I think we can get this series in for v3.8 if we drop the functional > pwrst dependency. To test, I dropped patches 5 & 7, and tested on > 4430/Panda and 4460/Panda-ES (with latest mainline u-boot) and CORE > is hitting retention just fine in suspend. > > If you can respin patch 8 based on the feedback from Felipe, I'll queue > up patches 4 & 8 for v3.8 as well, then we'll at least have CORE > retention in suspend in mainline. Then, the rest can be done when > functional pwrsts are ready. Yea, I can do that on Friday once I get back home, I am travelling currently. > > Kevin > > P.S. do you have any patches to add any OMAP4 CPUidle support for CORE > retention? No, cpuidle core ret should work with this set already. Not sure what happens without the func pwrst patches, I have not tested with that setup lately. I can try this out on Friday as well. -Tero
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h index 707e9cb..f26f2d7 100644 --- a/arch/arm/mach-omap2/pm.h +++ b/arch/arm/mach-omap2/pm.h @@ -100,6 +100,13 @@ extern void enable_omap3630_toggle_l2_on_restore(void); static inline void enable_omap3630_toggle_l2_on_restore(void) { } #endif /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */ +#if defined(CONFIG_ARCH_OMAP4) +extern u16 pm44xx_errata; +#define IS_PM44XX_ERRATUM(id) (pm44xx_errata & (id)) +#else +#define IS_PM44XX_ERRATUM(id) 0 +#endif + #ifdef CONFIG_POWER_AVS_OMAP extern int omap_devinit_smartreflex(void); extern void omap_enable_smartreflex_on_init(void); diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index ba06300..07e7ef2 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -33,6 +33,7 @@ struct power_state { }; static LIST_HEAD(pwrst_list); +u16 pm44xx_errata; #ifdef CONFIG_SUSPEND static int omap4_pm_suspend(void)
Added similar PM errata flag support as omap3 has. This should be used in similar manner, set the flags during init time, and check the flag values during runtime. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/pm.h | 7 +++++++ arch/arm/mach-omap2/pm44xx.c | 1 + 2 files changed, 8 insertions(+), 0 deletions(-)