summaryrefslogtreecommitdiffstats
path: root/Documentation/power/states.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/power/states.txt')
-rw-r--r--Documentation/power/states.txt62
1 files changed, 40 insertions, 22 deletions
diff --git a/Documentation/power/states.txt b/Documentation/power/states.txt
index 50f3ef9177c1..8a39ce45d8a0 100644
--- a/Documentation/power/states.txt
+++ b/Documentation/power/states.txt
@@ -8,25 +8,43 @@ for each state.
8 8
9The states are represented by strings that can be read or written to the 9The states are represented by strings that can be read or written to the
10/sys/power/state file. Those strings may be "mem", "standby", "freeze" and 10/sys/power/state file. Those strings may be "mem", "standby", "freeze" and
11"disk", where the last one always represents hibernation (Suspend-To-Disk) and 11"disk", where the last three always represent Power-On Suspend (if supported),
12the meaning of the remaining ones depends on the relative_sleep_states command 12Suspend-To-Idle and hibernation (Suspend-To-Disk), respectively.
13line argument. 13
14 14The meaning of the "mem" string is controlled by the /sys/power/mem_sleep file.
15For relative_sleep_states=1, the strings "mem", "standby" and "freeze" label the 15It contains strings representing the available modes of system suspend that may
16available non-hibernation sleep states from the deepest to the shallowest, 16be triggered by writing "mem" to /sys/power/state. These modes are "s2idle"
17respectively. In that case, "mem" is always present in /sys/power/state, 17(Suspend-To-Idle), "shallow" (Power-On Suspend) and "deep" (Suspend-To-RAM).
18because there is at least one non-hibernation sleep state in every system. If 18The "s2idle" mode is always available, while the other ones are only available
19the given system supports two non-hibernation sleep states, "standby" is present 19if supported by the platform (if not supported, the strings representing them
20in /sys/power/state in addition to "mem". If the system supports three 20are not present in /sys/power/mem_sleep). The string representing the suspend
21non-hibernation sleep states, "freeze" will be present in /sys/power/state in 21mode to be used subsequently is enclosed in square brackets. Writing one of
22addition to "mem" and "standby". 22the other strings present in /sys/power/mem_sleep to it causes the suspend mode
23 23to be used subsequently to change to the one represented by that string.
24For relative_sleep_states=0, which is the default, the following descriptions 24
25apply. 25Consequently, there are two ways to cause the system to go into the
26 26Suspend-To-Idle sleep state. The first one is to write "freeze" directly to
27state: Suspend-To-Idle 27/sys/power/state. The second one is to write "s2idle" to /sys/power/mem_sleep
28and then to wrtie "mem" to /sys/power/state. Similarly, there are two ways
29to cause the system to go into the Power-On Suspend sleep state (the strings to
30write to the control files in that case are "standby" or "shallow" and "mem",
31respectively) if that state is supported by the platform. In turn, there is
32only one way to cause the system to go into the Suspend-To-RAM state (write
33"deep" into /sys/power/mem_sleep and "mem" into /sys/power/state).
34
35The default suspend mode (ie. the one to be used without writing anything into
36/sys/power/mem_sleep) is either "deep" (if Suspend-To-RAM is supported) or
37"s2idle", but it can be overridden by the value of the "mem_sleep_default"
38parameter in the kernel command line. On some ACPI-based systems, depending on
39the information in the FADT, the default may be "s2idle" even if Suspend-To-RAM
40is supported.
41
42The properties of all of the sleep states are described below.
43
44
45State: Suspend-To-Idle
28ACPI state: S0 46ACPI state: S0
29Label: "freeze" 47Label: "s2idle" ("freeze")
30 48
31This state is a generic, pure software, light-weight, system sleep state. 49This state is a generic, pure software, light-weight, system sleep state.
32It allows more energy to be saved relative to runtime idle by freezing user 50It allows more energy to be saved relative to runtime idle by freezing user
@@ -35,13 +53,13 @@ lower-power than available at run time), such that the processors can
35spend more time in their idle states. 53spend more time in their idle states.
36 54
37This state can be used for platforms without Power-On Suspend/Suspend-to-RAM 55This state can be used for platforms without Power-On Suspend/Suspend-to-RAM
38support, or it can be used in addition to Suspend-to-RAM (memory sleep) 56support, or it can be used in addition to Suspend-to-RAM to provide reduced
39to provide reduced resume latency. It is always supported. 57resume latency. It is always supported.
40 58
41 59
42State: Standby / Power-On Suspend 60State: Standby / Power-On Suspend
43ACPI State: S1 61ACPI State: S1
44Label: "standby" 62Label: "shallow" ("standby")
45 63
46This state, if supported, offers moderate, though real, power savings, while 64This state, if supported, offers moderate, though real, power savings, while
47providing a relatively low-latency transition back to a working system. No 65providing a relatively low-latency transition back to a working system. No
@@ -58,7 +76,7 @@ state.
58 76
59State: Suspend-to-RAM 77State: Suspend-to-RAM
60ACPI State: S3 78ACPI State: S3
61Label: "mem" 79Label: "deep"
62 80
63This state, if supported, offers significant power savings as everything in the 81This state, if supported, offers significant power savings as everything in the
64system is put into a low-power state, except for memory, which should be placed 82system is put into a low-power state, except for memory, which should be placed