• Sebastian Capella's avatar
    ARM: 8011/1: ARM hibernation / suspend-to-disk · 603fb42a
    Sebastian Capella authored
    Enable hibernation for ARM architectures and provide ARM
    architecture specific calls used during hibernation.
    
    The swsusp hibernation framework depends on the
    platform first having functional suspend/resume.
    
    Then, in order to enable hibernation on a given platform, a
    platform_hibernation_ops structure may need to be registered with
    the system in order to save/restore any SoC-specific / cpu specific
    state needing (re)init over a suspend-to-disk/resume-from-disk cycle.
    
    For example:
    
         - "secure" SoCs that have different sets of control registers
           and/or different CR reg access patterns.
    
         - SoCs with L2 caches as the activation sequence there is
           SoC-dependent; a full off-on cycle for L2 is not done
           by the hibernation support code.
    
         - SoCs requiring steps on wakeup _before_ the "generic" parts
           done by cpu_suspend / cpu_resume can work correctly.
    
         - SoCs having persistent state which is maintained during suspend
           and resume, but will be lost during the power off cycle after
           suspend-to-disk.
    
    This is a rebase/rework of Frank Hofmann's v5 hibernation patchset.
    Acked-by: default avatarRuss Dill <Russ.Dill@ti.com>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Signed-off-by: default avatarSebastian Capella <sebastian.capella@linaro.org>
    Acked-by: default avatarPavel Machek <pavel@ucw.cz>
    Reviewed-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    [fixed duplicate virt_to_pfn() definition --rmk]
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    603fb42a
Kconfig 66.6 KB