mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 15:41:36 +00:00
151f4e2bdc
Convert the PM documents to ReST, in order to allow them to build with Sphinx. The conversion is actually: - add blank lines and indentation in order to identify paragraphs; - fix tables markups; - add some lists markups; - mark literal blocks; - adjust title markups. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
80 lines
3.6 KiB
ReStructuredText
80 lines
3.6 KiB
ReStructuredText
===========================================
|
|
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/admin-guide/pm/sleep-states.rst 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.rst 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.rst for more information).
|
|
|
|
Initially it contains '0' which may be changed to '1' by writing a string
|
|
representing a nonzero integer into it.
|