[PATCH 00/25] OMAP4: PM: suspend, CPU-hotplug and CPUilde support
From: Vishwanath Sripathy <hidden>
Date: 2011-09-20 11:24:38
Also in:
linux-omap
-----Original Message----- From: linux-arm-kernel-bounces at lists.infradead.org [mailto:linux- arm-kernel-bounces at lists.infradead.org] On Behalf Of Santosh Shilimkar Sent: Sunday, September 04, 2011 7:24 PM To: linux-omap at vger.kernel.org Cc: khilman at ti.com; Santosh Shilimkar; rnayak at ti.com; linux at arm.linux.org.uk; linux-arm-kernel at lists.infradead.org Subject: [PATCH 00/25] OMAP4: PM: suspend, CPU-hotplug and CPUilde support 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
I have tested these patch series after adding core retention support (In suspend/resume path)[1] and it worked Fine. I do see that Core and MPU are entering CSWR upon suspend and able to wake up via uart. You could add tested-by: Vishwanath BS < Vishwanath.bs@ti.com> if you want. [1]: git://gitorious.org/omap-pm/linux.git omap4_core_pm Regards Vishwa
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 at vger.kernel.org/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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel