This patch set adds saving and restoring the GIC on v3
implementations through a devicetree flag.

The new CPU_PM state was the cleanest way to synchronize the save and
restore (that I figured out) with other PM operations since this isn't
going into any PSCI implementations (at least not in
ARM-Trusted-Firmware).

I've verified these patches on a Rockchip RK3399 platform (some
devicetree changes needed). This included turning off the power rail
for the GIC during suspend.

Derek Basehore (8):
  cpu_pm: add syscore_suspend error handling
  lib/iomap_copy: add __ioread64_copy()
  cpu_pm: Add SYSTEM_PM state
  irqchip/gic-v3: add ability to save/restore GIC/ITS state
  DT/arm,gic-v3: add save-suspend-state property
  irqchip/gic-v3-its: add ability to resend MAPC on resume
  DT/arm,gic-v3: add resend-mapc-on-resume property
  irqchip/gic-v3: add power down/up sequence

 .../bindings/interrupt-controller/arm,gic-v3.txt   |  43 +++
 drivers/irqchip/irq-gic-v3-its.c                   | 136 +++++--
 drivers/irqchip/irq-gic-v3.c                       | 391 ++++++++++++++++++++-
 include/linux/cpu_pm.h                             |  14 +
 include/linux/io.h                                 |   1 +
 include/linux/irqchip/arm-gic-v3.h                 |  26 ++
 kernel/cpu_pm.c                                    |  75 ++--
 lib/iomap_copy.c                                   |  26 ++
 8 files changed, 640 insertions(+), 72 deletions(-)

-- 
2.16.0.rc1.238.g530d649a79-goog

Reply via email to