Lines Matching +full:retain +full:- +full:state +full:- +full:shutdown
1 .. SPDX-License-Identifier: GPL-2.0
13 Sleep states are global low-power states of the entire system in which user
28 Suspend-to-Idle
29 ---------------
31 This is a generic, pure software, light-weight variant of system suspend (also
34 I/O devices into low-power states (possibly lower-power than available in the
35 working state), such that the processors can spend time in their deepest idle
38 The system is woken up from this state by in-band interrupts, so theoretically
39 any devices that can cause interrupts to be generated in the working state can
42 This state can be used on platforms without support for :ref:`standby <standby>`
43 or :ref:`suspend-to-RAM <s2ram>`, or it can be used in addition to any of the
50 -------
52 This state, if supported, offers moderate, but real, energy savings, while
53 providing a relatively straightforward transition back to the working state. No
54 operating state is lost (the system core logic retains power), so the system can
58 I/O devices into low-power states, which is done for :ref:`suspend-to-idle
59 <s2idle>` too, nonboot CPUs are taken offline and all low-level system functions
60 are suspended during transitions into this state. For this reason, it should
61 allow more energy to be saved relative to :ref:`suspend-to-idle <s2idle>`, but
62 the resume latency will generally be greater than for that state.
64 The set of devices that can wake up the system from this state usually is
65 reduced relative to :ref:`suspend-to-idle <s2idle>` and it may be necessary to
68 This state is supported if the :c:macro:`CONFIG_SUSPEND` kernel configuration
70 core system suspend subsystem. On ACPI-based systems this state is mapped to
71 the S1 system state defined by ACPI.
75 Suspend-to-RAM
76 --------------
78 This state (also referred to as STR or S2RAM), if supported, offers significant
79 energy savings as everything in the system is put into a low-power state, except
80 for memory, which should be placed into the self-refresh mode to retain its
83 take place depending on the platform capabilities. In particular, on ACPI-based
86 more low-level components that are not directly controlled by the kernel.
88 The state of devices and CPUs is saved and held in memory. All devices are
89 suspended and put into low-power states. In many cases, all peripheral buses
91 back to the "on" state.
93 On ACPI-based systems S2RAM requires some minimal boot-strapping code in the
98 relative to :ref:`suspend-to-idle <s2idle>` and :ref:`standby <standby>` and it
104 suspend subsystem. On ACPI-based systems it is mapped to the S3 system state
110 -----------
112 This state (also referred to as Suspend-to-Disk or STD) offers the greatest
113 energy savings and can be used even in the absence of low-level platform support
114 for system suspend. However, it requires some low-level code for resuming the
118 It takes three system state changes to put it into hibernation and two system
119 state changes to resume it.
123 the system goes into a state in which the snapshot image can be saved, the image
124 is written out and finally the system goes into the target low-power state in
129 special low-power state (like ACPI S4), or it may simply power down itself.
131 any system. However, entering a special low-power state may allow additional
144 the special architecture-specific low-level code is needed. Finally, the
145 image kernel restores the system to the pre-hibernation state and allows user
150 for the given CPU architecture includes the low-level code for system resume.
162 ``state``
165 to start a transition of the system into the sleep state represented by
169 :ref:`hibernation <hibernation>`, :ref:`suspend-to-idle <s2idle>` and
180 associated with the "mem" string in the ``state`` file described above.
183 and "deep". The "s2idle" string always represents :ref:`suspend-to-idle
185 :ref:`standby <standby>` and :ref:`suspend-to-RAM <s2ram>`,
190 in the ``state`` file. The string representing the suspend variant
191 currently associated with the "mem" string in the ``state`` file is
197 This file controls the operating mode of hibernation (Suspend-to-Disk).
204 Put the system into a special low-power state (e.g. ACPI S4) to
214 ``shutdown``
222 state selected through the ``mem_sleep`` file described above.
223 If the system is successfully woken up from that state, discard
225 to restore the previous state of the system.
241 to :file:`/sys/power/state`.
248 It can be written a string representing a non-negative integer that will
249 be used as a best-effort upper limit of the image size, in bytes. The
275 :ref:`suspend-to-idle <s2idle>` state. The first one is to write "freeze"
276 directly to :file:`/sys/power/state`. The second one is to write "s2idle" to
278 :file:`/sys/power/state`. Likewise, there are two ways to make the system go
279 into the :ref:`standby <standby>` state (the strings to write to the control
281 state is supported by the platform. However, there is only one way to make the
282 system go into the :ref:`suspend-to-RAM <s2ram>` state (write "deep" into
283 :file:`/sys/power/mem_sleep` and "mem" into :file:`/sys/power/state`).
287 supporting :ref:`suspend-to-RAM <s2ram>`) or "s2idle", but it can be overridden
290 default may be "s2idle" even if :ref:`suspend-to-RAM <s2ram>` is supported in