On Wed, Feb 28, 2018 at 09:48:18PM -0800, Derek Basehore wrote: > Some platforms power off GIC logic in suspend, so we need to > save/restore state. The distributor and redistributor registers need > to be handled in platform code due to access permissions on those > registers, but the ITS registers can be restored in the kernel. > > Signed-off-by: Derek Basehore <dbasehore@xxxxxxxxxxxx> How much state do we have to save/restore? Given we can apparently read all this state, couldn't we *always* save the state, then upon resume detect if the state has been lost, restoring it if so? That way, we don't need a property in FW tables for DT or ACPI. [...] > @@ -3261,6 +3363,9 @@ static int __init its_probe_one(struct resource *res, > ctlr |= GITS_CTLR_ImDe; > writel_relaxed(ctlr, its->base + GITS_CTLR); > > + if (fwnode_property_present(handle, "reset-on-suspend")) > + its->flags |= ITS_FLAGS_SAVE_SUSPEND_STATE; Does this allow this property on an ACPI system? If we need this on ACPI, we need a spec update to handle this properly, and shouldn't use device properties like this. Thanks, Mark. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html