1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- Power Management Interface for System Sleep
- Copyright (c) 2016 Intel Corp., Rafael J. Wysocki <rafael.j.wysocki@intel.com>
- The power management subsystem provides userspace with a unified sysfs interface
- for system sleep regardless of the underlying system architecture or platform.
- The interface is located in the /sys/power/ directory (assuming that sysfs is
- mounted at /sys).
- /sys/power/state is the system sleep state control file.
- Reading from it returns a list of supported sleep states, encoded as:
- 'freeze' (Suspend-to-Idle)
- 'standby' (Power-On Suspend)
- 'mem' (Suspend-to-RAM)
- 'disk' (Suspend-to-Disk)
- Suspend-to-Idle is always supported. Suspend-to-Disk is always supported
- too as long the kernel has been configured to support hibernation at all
- (ie. CONFIG_HIBERNATION is set in the kernel configuration file). Support
- for Suspend-to-RAM and Power-On Suspend depends on the capabilities of the
- platform.
- If one of the strings listed in /sys/power/state is written to it, the system
- will attempt to transition into the corresponding sleep state. Refer to
- Documentation/power/states.txt for a description of each of those states.
- /sys/power/disk controls the operating mode of hibernation (Suspend-to-Disk).
- Specifically, it tells the kernel what to do after creating a hibernation image.
- Reading from it returns a list of supported options encoded as:
- 'platform' (put the system into sleep using a platform-provided method)
- 'shutdown' (shut the system down)
- 'reboot' (reboot the system)
- 'suspend' (trigger a Suspend-to-RAM transition)
- 'test_resume' (resume-after-hibernation test mode)
- The currently selected option is printed in square brackets.
- The 'platform' option is only available if the platform provides a special
- mechanism to put the system to sleep after creating a hibernation image (ACPI
- does that, for example). The 'suspend' option is available if Suspend-to-RAM
- is supported. Refer to Documentation/power/basic_pm_debugging.txt for the
- description of the 'test_resume' option.
- To select an option, write the string representing it to /sys/power/disk.
- /sys/power/image_size controls the size of hibernation images.
- It can be written a string representing a non-negative integer that will be
- used as a best-effort upper limit of the image size, in bytes. The hibernation
- core will do its best to ensure that the image size will not exceed that number.
- However, if that turns out to be impossible to achieve, a hibernation image will
- still be created and its size will be as small as possible. In particular,
- writing '0' to this file will enforce hibernation images to be as small as
- possible.
- Reading from this file returns the current image size limit, which is set to
- around 2/5 of available RAM by default.
- /sys/power/pm_trace controls the PM trace mechanism saving the last suspend
- or resume event point in the RTC across reboots.
- It helps to debug hard lockups or reboots due to device driver failures that
- occur during system suspend or resume (which is more common) more effectively.
- If /sys/power/pm_trace contains '1', the fingerprint of each suspend/resume
- event point in turn will be stored in the RTC memory (overwriting the actual
- RTC information), so it will survive a system crash if one occurs right after
- storing it and it can be used later to identify the driver that caused the crash
- to happen (see Documentation/power/s2ram.txt for more information).
- Initially it contains '0' which may be changed to '1' by writing a string
- representing a nonzero integer into it.
|