diff options
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/power/devices.txt | 15 | ||||
| -rw-r--r-- | Documentation/power/interface.txt | 4 | ||||
| -rw-r--r-- | Documentation/power/notifiers.txt | 6 | ||||
| -rw-r--r-- | Documentation/power/states.txt | 30 |
4 files changed, 31 insertions, 24 deletions
diff --git a/Documentation/power/devices.txt b/Documentation/power/devices.txt index 504dfe4d52eb..a66c9821b5ce 100644 --- a/Documentation/power/devices.txt +++ b/Documentation/power/devices.txt | |||
| @@ -268,7 +268,7 @@ situations. | |||
| 268 | System Power Management Phases | 268 | System Power Management Phases |
| 269 | ------------------------------ | 269 | ------------------------------ |
| 270 | Suspending or resuming the system is done in several phases. Different phases | 270 | Suspending or resuming the system is done in several phases. Different phases |
| 271 | are used for standby or memory sleep states ("suspend-to-RAM") and the | 271 | are used for freeze, standby, and memory sleep states ("suspend-to-RAM") and the |
| 272 | hibernation state ("suspend-to-disk"). Each phase involves executing callbacks | 272 | hibernation state ("suspend-to-disk"). Each phase involves executing callbacks |
| 273 | for every device before the next phase begins. Not all busses or classes | 273 | for every device before the next phase begins. Not all busses or classes |
| 274 | support all these callbacks and not all drivers use all the callbacks. The | 274 | 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 | 309 | ||
| 310 | Entering System Suspend | 310 | Entering System Suspend |
| 311 | ----------------------- | 311 | ----------------------- |
| 312 | When the system goes into the standby or memory sleep state, the phases are: | 312 | When the system goes into the freeze, standby or memory sleep state, |
| 313 | the phases are: | ||
| 313 | 314 | ||
| 314 | prepare, suspend, suspend_late, suspend_noirq. | 315 | prepare, suspend, suspend_late, suspend_noirq. |
| 315 | 316 | ||
| @@ -368,7 +369,7 @@ the devices that were suspended. | |||
| 368 | 369 | ||
| 369 | Leaving System Suspend | 370 | Leaving System Suspend |
| 370 | ---------------------- | 371 | ---------------------- |
| 371 | When resuming from standby or memory sleep, the phases are: | 372 | When resuming from freeze, standby or memory sleep, the phases are: |
| 372 | 373 | ||
| 373 | resume_noirq, resume_early, resume, complete. | 374 | resume_noirq, resume_early, resume, complete. |
| 374 | 375 | ||
| @@ -433,8 +434,8 @@ the system log. | |||
| 433 | 434 | ||
| 434 | Entering Hibernation | 435 | Entering Hibernation |
| 435 | -------------------- | 436 | -------------------- |
| 436 | Hibernating the system is more complicated than putting it into the standby or | 437 | Hibernating the system is more complicated than putting it into the other |
| 437 | memory sleep state, because it involves creating and saving a system image. | 438 | sleep states, because it involves creating and saving a system image. |
| 438 | Therefore there are more phases for hibernation, with a different set of | 439 | Therefore there are more phases for hibernation, with a different set of |
| 439 | callbacks. These phases always run after tasks have been frozen and memory has | 440 | callbacks. These phases always run after tasks have been frozen and memory has |
| 440 | been freed. | 441 | been freed. |
| @@ -485,8 +486,8 @@ image forms an atomic snapshot of the system state. | |||
| 485 | 486 | ||
| 486 | At this point the system image is saved, and the devices then need to be | 487 | At this point the system image is saved, and the devices then need to be |
| 487 | prepared for the upcoming system shutdown. This is much like suspending them | 488 | prepared for the upcoming system shutdown. This is much like suspending them |
| 488 | before putting the system into the standby or memory sleep state, and the phases | 489 | before putting the system into the freeze, standby or memory sleep state, |
| 489 | are similar. | 490 | and the phases are similar. |
| 490 | 491 | ||
| 491 | 9. The prepare phase is discussed above. | 492 | 9. The prepare phase is discussed above. |
| 492 | 493 | ||
diff --git a/Documentation/power/interface.txt b/Documentation/power/interface.txt index c537834af005..f1f0f59a7c47 100644 --- a/Documentation/power/interface.txt +++ b/Documentation/power/interface.txt | |||
| @@ -7,8 +7,8 @@ running. The interface exists in /sys/power/ directory (assuming sysfs | |||
| 7 | is mounted at /sys). | 7 | is mounted at /sys). |
| 8 | 8 | ||
| 9 | /sys/power/state controls system power state. Reading from this file | 9 | /sys/power/state controls system power state. Reading from this file |
| 10 | returns what states are supported, which is hard-coded to 'standby' | 10 | returns what states are supported, which is hard-coded to 'freeze', |
| 11 | (Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk' | 11 | 'standby' (Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk' |
| 12 | (Suspend-to-Disk). | 12 | (Suspend-to-Disk). |
| 13 | 13 | ||
| 14 | Writing to this file one of those strings causes the system to | 14 | Writing to this file one of those strings causes the system to |
diff --git a/Documentation/power/notifiers.txt b/Documentation/power/notifiers.txt index c2a4a346c0d9..a81fa254303d 100644 --- a/Documentation/power/notifiers.txt +++ b/Documentation/power/notifiers.txt | |||
| @@ -15,8 +15,10 @@ A suspend/hibernation notifier may be used for this purpose. | |||
| 15 | The subsystems or drivers having such needs can register suspend notifiers that | 15 | The subsystems or drivers having such needs can register suspend notifiers that |
| 16 | will be called upon the following events by the PM core: | 16 | will be called upon the following events by the PM core: |
| 17 | 17 | ||
| 18 | PM_HIBERNATION_PREPARE The system is going to hibernate or suspend, tasks will | 18 | PM_HIBERNATION_PREPARE The system is going to hibernate, tasks will be frozen |
| 19 | be frozen immediately. | 19 | immediately. This is different from PM_SUSPEND_PREPARE |
| 20 | below because here we do additional work between notifiers | ||
| 21 | and drivers freezing. | ||
| 20 | 22 | ||
| 21 | PM_POST_HIBERNATION The system memory state has been restored from a | 23 | PM_POST_HIBERNATION The system memory state has been restored from a |
| 22 | hibernation image or an error occurred during | 24 | hibernation image or an error occurred during |
diff --git a/Documentation/power/states.txt b/Documentation/power/states.txt index 4416b28630df..442d43df9b25 100644 --- a/Documentation/power/states.txt +++ b/Documentation/power/states.txt | |||
| @@ -2,12 +2,26 @@ | |||
| 2 | System Power Management States | 2 | System Power Management States |
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | The kernel supports three power management states generically, though | 5 | The kernel supports four power management states generically, though |
| 6 | each is dependent on platform support code to implement the low-level | 6 | one is generic and the other three are dependent on platform support |
| 7 | details for each state. This file describes each state, what they are | 7 | code to implement the low-level details for each state. |
| 8 | This file describes each state, what they are | ||
| 8 | commonly called, what ACPI state they map to, and what string to write | 9 | commonly called, what ACPI state they map to, and what string to write |
| 9 | to /sys/power/state to enter that state | 10 | to /sys/power/state to enter that state |
| 10 | 11 | ||
| 12 | state: Freeze / Low-Power Idle | ||
| 13 | ACPI state: S0 | ||
| 14 | String: "freeze" | ||
| 15 | |||
| 16 | This state is a generic, pure software, light-weight, low-power state. | ||
| 17 | It allows more energy to be saved relative to idle by freezing user | ||
| 18 | space and putting all I/O devices into low-power states (possibly | ||
| 19 | lower-power than available at run time), such that the processors can | ||
| 20 | spend more time in their idle states. | ||
| 21 | This state can be used for platforms without Standby/Suspend-to-RAM | ||
| 22 | support, or it can be used in addition to Suspend-to-RAM (memory sleep) | ||
| 23 | to provide reduced resume latency. | ||
| 24 | |||
| 11 | 25 | ||
| 12 | State: Standby / Power-On Suspend | 26 | State: Standby / Power-On Suspend |
| 13 | ACPI State: S1 | 27 | ACPI State: S1 |
| @@ -22,9 +36,6 @@ We try to put devices in a low-power state equivalent to D1, which | |||
| 22 | also offers low power savings, but low resume latency. Not all devices | 36 | also offers low power savings, but low resume latency. Not all devices |
| 23 | support D1, and those that don't are left on. | 37 | support D1, and those that don't are left on. |
| 24 | 38 | ||
| 25 | A transition from Standby to the On state should take about 1-2 | ||
| 26 | seconds. | ||
| 27 | |||
| 28 | 39 | ||
| 29 | State: Suspend-to-RAM | 40 | State: Suspend-to-RAM |
| 30 | ACPI State: S3 | 41 | ACPI State: S3 |
| @@ -42,9 +53,6 @@ transition back to the On state. | |||
| 42 | For at least ACPI, STR requires some minimal boot-strapping code to | 53 | For at least ACPI, STR requires some minimal boot-strapping code to |
| 43 | resume the system from STR. This may be true on other platforms. | 54 | resume the system from STR. This may be true on other platforms. |
| 44 | 55 | ||
| 45 | A transition from Suspend-to-RAM to the On state should take about | ||
| 46 | 3-5 seconds. | ||
| 47 | |||
| 48 | 56 | ||
| 49 | State: Suspend-to-disk | 57 | State: Suspend-to-disk |
| 50 | ACPI State: S4 | 58 | ACPI State: S4 |
| @@ -74,7 +82,3 @@ low-power state (like ACPI S4), or it may simply power down. Powering | |||
| 74 | down offers greater savings, and allows this mechanism to work on any | 82 | down offers greater savings, and allows this mechanism to work on any |
| 75 | system. However, entering a real low-power state allows the user to | 83 | system. However, entering a real low-power state allows the user to |
| 76 | trigger wake up events (e.g. pressing a key or opening a laptop lid). | 84 | trigger wake up events (e.g. pressing a key or opening a laptop lid). |
| 77 | |||
| 78 | A transition from Suspend-to-Disk to the On state should take about 30 | ||
| 79 | seconds, though it's typically a bit more with the current | ||
| 80 | implementation. | ||
