This series adds OMAP4 MPUSS (MPU SubSystem) power management support for suspend (S2R), CPU hotplug and CPUidle. Most of these patches have been posted and reviewed earlier [1] on the list and have missed last couple of merge windows because of dependencies. New set of patches have diverged more and hence the series version continuity isn't maintained. Below are the main updates from previous versions. - Use of generic ARM suspend hooks instead of OMAP custom code. - Making use of common GIC code instead of OMAP custom code. - Use of generic CPU PM notifiers for CPUIDLE and suspend. - Use of CPU PM notifiers and hotplug notifiers for GIC extension. - PM support of OMAP4 HS devices. - Introduction of interconnect barriers as per the OMAP4 requirements. Special thanks to, - Kevin Hilman for the detailed reviews. - Russell for adding the L2 cache handling support to generic suspend. - Colin Cross for the generic CPU PM notifier patches. - Rajendra Nayak and Paul Walmsley for clock-domain sequencing series. Below series has dependency on Russell's L2 generic suspend support [2] and earlier posted CPU PM notifiers series [3]. An integrated branch with these dependencies can be found here [4]. The series is tested on OMAP4430 SDP for suspend, hotplug and CPUidle with OMAP4 GP and HS (secure) devices. The following changes since commit c6a389f123b9f68d605bb7e0f9b32ec1e3e14132: Linux 3.1-rc4 (2011-08-28 21:16:01 -0700) are available in the git repository at: git://gitorious.org/omap-sw-develoment/linux-omap-dev.git v3.1-rc4-omap4-mpuss-pm Santosh Shilimkar (25): ARM: mm: Add strongly ordered descriptor support. OMAP4: Redefine mandatory barriers for OMAP to include interconnect barriers. OMAP4: PM: Use custom omap_do_wfi() for suspend and default idle. OMAP4: Remove un-used do_wfi() macro. OMAP4: Use WARN_ON() instead of BUG_ON() with graceful exit OMAP4: Export omap4_get_base*() rather than global address pointers OMAP4: PM: Add SAR RAM support OMAP4: PM: Keep static dep between MPUSS-EMIF and MPUSS-L3 and DUCATI-L3 OMAP4: PM: Avoid omap4_pm_init() on OMAP4430 ES1.0 OMAP4: PM: Initialise all the clockdomains to supported states OMAP: Add Secure HAL and monitor mode API infrastructure. OMAP: Add support to allocate the memory for secure RAM OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn OMAP4: PM: Add CPUX OFF mode support OMAP4: Remove __INIT from omap_secondary_startup() to re-use it for hotplug. OMAP4: PM: Program CPU1 to hit OFF when off-lined OMAP4: PM: CPU1 wakeup workaround from Low power modes OMAP4: suspend: Add MPUSS power domain RETENTION support OMAP4: PM: Add WakeupGen and secure GIC low power support OMAP4: PM: Add L2X0 cache lowpower support OMAP4: PM: Add MPUSS power domain OSWR support OMAP4: PM: Add power domain statistics support OMAP4: PM: Add CPUidle support OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states. OMAP3: CPUidle: Make use of CPU PM notifiers arch/arm/include/asm/mach/map.h | 1 + arch/arm/include/asm/pgtable.h | 3 + arch/arm/mach-omap2/Kconfig | 1 + arch/arm/mach-omap2/Makefile | 15 +- arch/arm/mach-omap2/cpuidle34xx.c | 7 + arch/arm/mach-omap2/cpuidle44xx.c | 206 ++++++++++ arch/arm/mach-omap2/include/mach/barriers.h | 48 +++ arch/arm/mach-omap2/include/mach/omap-secure.h | 57 +++ arch/arm/mach-omap2/include/mach/omap-wakeupgen.h | 39 ++ arch/arm/mach-omap2/include/mach/omap4-common.h | 70 +++- arch/arm/mach-omap2/omap-headsmp.S | 5 - arch/arm/mach-omap2/omap-hotplug.c | 14 +- arch/arm/mach-omap2/omap-mpuss-lowpower.c | 398 +++++++++++++++++++ arch/arm/mach-omap2/omap-secure.c | 81 ++++ arch/arm/mach-omap2/{omap44xx-smc.S => omap-smc.S} | 23 ++ arch/arm/mach-omap2/omap-smp.c | 38 ++ arch/arm/mach-omap2/omap-wakeupgen.c | 403 ++++++++++++++++++++ arch/arm/mach-omap2/omap4-common.c | 93 +++++- arch/arm/mach-omap2/omap4-sar-layout.h | 50 +++ arch/arm/mach-omap2/pm.h | 1 + arch/arm/mach-omap2/pm44xx.c | 155 ++++++++- arch/arm/mach-omap2/sleep44xx.S | 385 +++++++++++++++++++ arch/arm/mm/mmu.c | 8 + arch/arm/plat-omap/common.c | 3 + arch/arm/plat-omap/include/plat/omap44xx.h | 1 + arch/arm/plat-omap/include/plat/sram.h | 1 + arch/arm/plat-omap/sram.c | 47 ++- 27 files changed, 2104 insertions(+), 49 deletions(-) create mode 100644 arch/arm/mach-omap2/cpuidle44xx.c create mode 100644 arch/arm/mach-omap2/include/mach/barriers.h create mode 100644 arch/arm/mach-omap2/include/mach/omap-secure.h create mode 100644 arch/arm/mach-omap2/include/mach/omap-wakeupgen.h create mode 100644 arch/arm/mach-omap2/omap-mpuss-lowpower.c create mode 100644 arch/arm/mach-omap2/omap-secure.c rename arch/arm/mach-omap2/{omap44xx-smc.S => omap-smc.S} (70%) create mode 100644 arch/arm/mach-omap2/omap-wakeupgen.c create mode 100644 arch/arm/mach-omap2/omap4-sar-layout.h create mode 100644 arch/arm/mach-omap2/sleep44xx.S Regards Santosh [1] http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg47511.html [2] http://www.spinics.net/lists/arm-kernel/msg138803.html [3] https://lkml.org/lkml/2011/9/3/49 [4] https://gitorious.org/omap-sw-develoment/linux-omap-dev/commits/v3.1-rc4-omap4-pm-integrated -- 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