Save and Restore Generic Interrupt Controller for System Sleep on ARM

From: dbasehore .
Date: Wed Nov 29 2017 - 17:49:44 EST


There was some work in ARM Trusted Firmware to support saving and
restoring the Generic Interrupt Controller (GICv3) before and after
sleep, but it seems that the plan is to have this all in the kernel
now. The point of doing this is to save power during sleep. On an
RK3399 system, we save about 15mW by disabling the power rail that the
GIC is on.

I was looking for whether anyone had anything in progress already or
for preferences on how to do this. Marc suggested using a device tree
entry to indicate the need to save and restore the GIC. There is
another requirement to resend MAPC commands on certain implementations
of the GICv3 which could be indicated by another device tree entry.

If someone does have patches, I'll be able to test and verify them on
my system since we've gotten things working with the ARM Trusted
Firmware patches.