[PATCH v3 0/4] Add standby support for the recent mvebu SoCs

Gregory CLEMENT gregory.clement at free-electrons.com
Fri Jul 3 04:55:49 PDT 2015


Hi,

Until now only few mvebu v7 based board supported suspend to ram. This
suspend to ram mode was unusual because it involved shutting down the
SoC and relied on a PIC to wake up the system.

However, most of the recent mvebu SoCs can support the standby
mode. Unlike for the suspend to ram, nothing special have to be done
for these SoCs. In this mode the SoCs go in idle mode (but they remain
powered up) and the devices enter in suspend mode. The support itself
was added in the patch 2.

In order to wake-up the interrupt controller driver have been
updated. As in standby mode the interrupt controller is not shutdown,
any interrupt can be a wake-up source. So the GIC (patch 3) now used
the flags IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND.

A wake up source is supposed to work in suspend _and_ in standby mode
but for the mvebu SoCs, no interrupt can wake up the system. The last
patch warns the user about it.

The first patch is a clean-up found while working on this series

This series was applied on top of Thomas' series "ARM: mvebu: add
suspend to RAM support for Armada 38x":
http://thread.gmane.org/gmane.linux.ports.arm.kernel/420458

It has been either using rtcwake or by setting the serial line as a
wake-up source through the sysfs interface.

Changelog:

v1 -> v2:

 - Rebased on top of Thomas' series "ARM: mvebu: add suspend to RAM
support for Armada 38x"

v2 -> v3:

- Fix typos reported by Thomas in commit logs
- Added Reviewed-by tag from Thomas on 1st patch
- Applied the gic flags depending of the presence of the cortex-a9-gic
  node instead of a list of SoCs as suggest by Thomas
- Simplified the support of the suspend to mem specific to the
  board. Used device_initcall_sync instead of arch_initcall_sync to
  achieve this.
- Made the warning message about wakup sources less confusing for the
  users. Suggested by Thomas.

Thanks,

Gregory

Gregory CLEMENT (4):
  ARM: mvebu: Use __init for the PM initialization functions
  ARM: mvebu: Add standby support
  ARM: mvebu: Allow using the GIC for wakeup in standby mode
  ARM: mvebu: Warn about the wake-up sources not taken into account in
    suspend

 arch/arm/mach-mvebu/board-v7.c |  9 +++++++
 arch/arm/mach-mvebu/common.h   |  4 ++--
 arch/arm/mach-mvebu/pm-board.c | 14 ++++++++---
 arch/arm/mach-mvebu/pm.c       | 53 +++++++++++++++++++++++++++++++++++-------
 4 files changed, 67 insertions(+), 13 deletions(-)

-- 
2.1.0




More information about the linux-arm-kernel mailing list