Commit dc5aeae4 authored by Zhang Rui's avatar Zhang Rui Committed by Rafael J. Wysocki

PM: Documentation update for freeze state

Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent d5e1670a
...@@ -268,7 +268,7 @@ situations. ...@@ -268,7 +268,7 @@ situations.
System Power Management Phases System Power Management Phases
------------------------------ ------------------------------
Suspending or resuming the system is done in several phases. Different phases Suspending or resuming the system is done in several phases. Different phases
are used for standby or memory sleep states ("suspend-to-RAM") and the are used for freeze, standby, and memory sleep states ("suspend-to-RAM") and the
hibernation state ("suspend-to-disk"). Each phase involves executing callbacks hibernation state ("suspend-to-disk"). Each phase involves executing callbacks
for every device before the next phase begins. Not all busses or classes for every device before the next phase begins. Not all busses or classes
support all these callbacks and not all drivers use all the callbacks. The support all these callbacks and not all drivers use all the callbacks. The
...@@ -309,7 +309,8 @@ execute the corresponding method from dev->driver->pm instead if there is one. ...@@ -309,7 +309,8 @@ execute the corresponding method from dev->driver->pm instead if there is one.
Entering System Suspend Entering System Suspend
----------------------- -----------------------
When the system goes into the standby or memory sleep state, the phases are: When the system goes into the freeze, standby or memory sleep state,
the phases are:
prepare, suspend, suspend_late, suspend_noirq. prepare, suspend, suspend_late, suspend_noirq.
...@@ -368,7 +369,7 @@ the devices that were suspended. ...@@ -368,7 +369,7 @@ the devices that were suspended.
Leaving System Suspend Leaving System Suspend
---------------------- ----------------------
When resuming from standby or memory sleep, the phases are: When resuming from freeze, standby or memory sleep, the phases are:
resume_noirq, resume_early, resume, complete. resume_noirq, resume_early, resume, complete.
...@@ -433,8 +434,8 @@ the system log. ...@@ -433,8 +434,8 @@ the system log.
Entering Hibernation Entering Hibernation
-------------------- --------------------
Hibernating the system is more complicated than putting it into the standby or Hibernating the system is more complicated than putting it into the other
memory sleep state, because it involves creating and saving a system image. sleep states, because it involves creating and saving a system image.
Therefore there are more phases for hibernation, with a different set of Therefore there are more phases for hibernation, with a different set of
callbacks. These phases always run after tasks have been frozen and memory has callbacks. These phases always run after tasks have been frozen and memory has
been freed. been freed.
...@@ -485,8 +486,8 @@ image forms an atomic snapshot of the system state. ...@@ -485,8 +486,8 @@ image forms an atomic snapshot of the system state.
At this point the system image is saved, and the devices then need to be At this point the system image is saved, and the devices then need to be
prepared for the upcoming system shutdown. This is much like suspending them prepared for the upcoming system shutdown. This is much like suspending them
before putting the system into the standby or memory sleep state, and the phases before putting the system into the freeze, standby or memory sleep state,
are similar. and the phases are similar.
9. The prepare phase is discussed above. 9. The prepare phase is discussed above.
......
...@@ -7,8 +7,8 @@ running. The interface exists in /sys/power/ directory (assuming sysfs ...@@ -7,8 +7,8 @@ running. The interface exists in /sys/power/ directory (assuming sysfs
is mounted at /sys). is mounted at /sys).
/sys/power/state controls system power state. Reading from this file /sys/power/state controls system power state. Reading from this file
returns what states are supported, which is hard-coded to 'standby' returns what states are supported, which is hard-coded to 'freeze',
(Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk' 'standby' (Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk'
(Suspend-to-Disk). (Suspend-to-Disk).
Writing to this file one of those strings causes the system to Writing to this file one of those strings causes the system to
......
...@@ -2,12 +2,26 @@ ...@@ -2,12 +2,26 @@
System Power Management States System Power Management States
The kernel supports three power management states generically, though The kernel supports four power management states generically, though
each is dependent on platform support code to implement the low-level one is generic and the other three are dependent on platform support
details for each state. This file describes each state, what they are code to implement the low-level details for each state.
This file describes each state, what they are
commonly called, what ACPI state they map to, and what string to write commonly called, what ACPI state they map to, and what string to write
to /sys/power/state to enter that state to /sys/power/state to enter that state
state: Freeze / Low-Power Idle
ACPI state: S0
String: "freeze"
This state is a generic, pure software, light-weight, low-power state.
It allows more energy to be saved relative to idle by freezing user
space and putting all I/O devices into low-power states (possibly
lower-power than available at run time), such that the processors can
spend more time in their idle states.
This state can be used for platforms without Standby/Suspend-to-RAM
support, or it can be used in addition to Suspend-to-RAM (memory sleep)
to provide reduced resume latency.
State: Standby / Power-On Suspend State: Standby / Power-On Suspend
ACPI State: S1 ACPI State: S1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment