/Linux-v5.4/Documentation/power/ |
D | swsusp.rst | 2 Swap suspend 11 If you touch anything on disk between suspend and resume... 20 problems. If your disk driver does not support suspend... (IDE does), 22 between suspend and resume, it may do something wrong. If you change 26 ( ) suspend/resume support is needed to make it safe. 28 If you have any filesystems on USB devices mounted before software suspend, 43 After preparing then you suspend by:: 51 - If you would like to write hibernation image to swap and then suspend 54 echo suspend > /sys/power/disk; echo disk > /sys/power/state 56 - If you have SATA disks, you'll need recent kernels with SATA suspend [all …]
|
D | interface.rst | 16 - 'freeze' (Suspend-to-Idle) 17 - 'standby' (Power-On Suspend) 18 - 'mem' (Suspend-to-RAM) 19 - 'disk' (Suspend-to-Disk) 21 Suspend-to-Idle is always supported. Suspend-to-Disk is always supported 24 for Suspend-to-RAM and Power-On Suspend depends on the capabilities of the 32 /sys/power/disk controls the operating mode of hibernation (Suspend-to-Disk). 40 - 'suspend' (trigger a Suspend-to-RAM transition) 47 does that, for example). The 'suspend' option is available if Suspend-to-RAM 66 /sys/power/pm_trace controls the PM trace mechanism saving the last suspend [all …]
|
D | drivers-testing.rst | 2 Testing suspend and resume support in device drivers 10 Unfortunately, to effectively test the support for the system-wide suspend and 11 resume transitions in a driver, it is necessary to suspend and resume a fully 14 (aka suspend to disk or STD) and suspend to RAM (STR), because each of these 18 Of course, for this purpose the test system has to be known to suspend and 20 resolve all suspend/resume-related problems in the test system before you start 22 for more information about the debugging of suspend/resume functionality. 27 Once you have resolved the suspend/resume-related problems with your test system 42 e) Try the test modes of suspend (see: Documentation/power/basic-pm-debugging.rst, 46 f) Attempt to suspend to RAM using the s2ram tool with the driver loaded [all …]
|
D | suspend-and-cpuhotplug.rst | 2 Interaction of Suspend code (S3) with the CPU hotplug infrastructure 8 I. Differences between CPU hotplug and Suspend-to-RAM 11 How does the regular CPU hotplug code differ from how the Suspend-to-RAM 21 What happens when regular CPU hotplug and Suspend-to-RAM race with each other 24 On a high level, the suspend-resume cycle goes like this:: 26 |Freeze| -> |Disable nonboot| -> |Do suspend| -> |Enable nonboot| -> |Thaw | 32 Suspend call path 89 Do suspend 110 beginning, when we are just starting out to suspend, and then released only 111 after the entire cycle is complete (i.e., suspend + resume). [all …]
|
/Linux-v5.4/kernel/power/ |
D | Kconfig | 2 config SUSPEND config 3 bool "Suspend to RAM and standby" 9 suspend-to-RAM state (e.g. the ACPI S3 state). 12 bool "Enable freezer for suspend to RAM/standby" \ 14 depends on SUSPEND 17 This allows you to turn off the freezer for suspend. If this is 18 done, no tasks are frozen for suspend to RAM/standby. 23 bool "Skip kernel's sys_sync() on suspend to RAM/standby" 24 depends on SUSPEND 29 of suspend, or they are content with invoking sync() from [all …]
|
D | suspend.c | 3 * kernel/power/suspend.c - Suspend to RAM and standby functionality. 26 #include <linux/suspend.h> 65 * pm_suspend_default_s2idle - Check if suspend-to-idle is the default suspend. 67 * Return 'true' if suspend-to-idle has been selected as the default system 68 * suspend method. 122 pm_pr_dbg("suspend-to-idle\n"); in s2idle_loop() 125 * Suspend-to-idle equals: in s2idle_loop() 130 * Wakeups during the noirq suspend of devices may be spurious, so try in s2idle_loop() 145 pm_pr_dbg("resume from suspend-to-idle\n"); in s2idle_loop() 177 * Suspend-to-idle should be supported even without any suspend_ops, in pm_states_init() [all …]
|
/Linux-v5.4/arch/arm/boot/dts/ |
D | rk3288-evb-rk808.dts | 46 regulator-off-in-suspend; 57 regulator-on-in-suspend; 58 regulator-suspend-microvolt = <1000000>; 67 regulator-on-in-suspend; 78 regulator-on-in-suspend; 79 regulator-suspend-microvolt = <3300000>; 90 regulator-on-in-suspend; 91 regulator-suspend-microvolt = <3300000>; 102 regulator-off-in-suspend; 113 regulator-on-in-suspend; [all …]
|
D | rk3036-kylin.dts | 147 regulator-off-in-suspend; 158 regulator-on-in-suspend; 159 regulator-suspend-microvolt = <1000000>; 168 regulator-on-in-suspend; 179 regulator-on-in-suspend; 180 regulator-suspend-microvolt = <3300000>; 191 regulator-on-in-suspend; 192 regulator-suspend-microvolt = <3300000>; 203 regulator-off-in-suspend; 214 regulator-on-in-suspend; [all …]
|
D | rk3288-tinker.dtsi | 182 regulator-off-in-suspend; 194 regulator-on-in-suspend; 195 regulator-suspend-microvolt = <1000000>; 204 regulator-on-in-suspend; 215 regulator-on-in-suspend; 216 regulator-suspend-microvolt = <3300000>; 227 regulator-on-in-suspend; 228 regulator-suspend-microvolt = <1800000>; 239 regulator-off-in-suspend; 250 regulator-on-in-suspend; [all …]
|
/Linux-v5.4/tools/power/pm-graph/ |
D | sleepgraph.8 | 3 sleepgraph \- Suspend/Resume timing analysis 11 in optimizing their linux stack's suspend/resume time. Using a kernel 13 suspend and capture dmesg and ftrace data until resume is complete. 16 taking the most time in suspend/resume. 19 a suspend/resume. 21 Generates output files in subdirectory: suspend-yymmdd-HHMMSS 40 Mode to initiate for suspend e.g. standby, freeze, mem (default: mem). 46 e.g. suspend-{hostname}-{date}-{time} 58 will execute the suspend via turbostat and collect data in the timeline log. 69 During test, enable/disable runtime suspend for all devices. The test is delayed [all …]
|
D | README | 3 pm-graph: suspend/resume/boot timing analysis tools 47 their linux stack's suspend/resume & boot time. Using a kernel image built 48 with a few extra options enabled, the tools will execute a suspend or boot, 51 and kernel processes are taking the most time in suspend/resume & boot. 101 in file: kernel/power/suspend.c 131 %> sudo ./sleepgraph.py -config config/suspend.cfg 135 files in subdirectory: suspend-mmddyy-HHMMSS. The ftrace file can 167 %> sudo ./sleepgraph.py -config config/suspend-dev.cfg 176 the period before and after suspend/resume. 183 successive suspend/resumes. [all …]
|
/Linux-v5.4/Documentation/admin-guide/pm/ |
D | sleep-states.rst | 23 hibernation and up to three variants of system suspend. The sleep states that 28 Suspend-to-Idle 31 This is a generic, pure software, light-weight variant of system suspend (also 43 or :ref:`suspend-to-RAM <s2ram>`, or it can be used in addition to any of the 44 deeper system suspend variants to provide reduced resume latency. It is always 58 I/O devices into low-power states, which is done for :ref:`suspend-to-idle 61 allow more energy to be saved relative to :ref:`suspend-to-idle <s2idle>`, but 65 reduced relative to :ref:`suspend-to-idle <s2idle>` and it may be necessary to 70 core system suspend subsystem. On ACPI-based systems this state is mapped to 75 Suspend-to-RAM [all …]
|
/Linux-v5.4/tools/power/pm-graph/config/ |
D | suspend-dev.cfg | 2 # Dev S3 (Suspend to Mem) test - includes src calls / kernel threads 9 # sudo ./sleepgraph.py -config config/suspend-dev.cfg 20 # Suspend Mode 26 output-dir: suspend-{hostname}-{date}-{time}-dev 36 # Suspend/Resume Gap 37 # insert a small visible gap between suspend and resume on the timeline (default: false) 42 # Command to execute in lieu of suspend (default: "") 53 # Back to Back Suspend/Resume 54 # Run two suspend/resumes back to back (default: false) 57 # Back to Back Suspend Delay [all …]
|
D | suspend-x2-proc.cfg | 2 # Proc S3 (Suspend to Mem) x2 test - includes user processes 9 # sudo ./sleepgraph.py -config config/suspend-proc.cfg 20 # Suspend Mode 26 output-dir: suspend-{hostname}-{date}-{time}-x2-proc 36 # Suspend/Resume Gap 37 # insert a small visible gap between suspend and resume on the timeline (default: false) 42 # Command to execute in lieu of suspend (default: "") 53 # Back to Back Suspend/Resume 54 # Run two suspend/resumes back to back (default: false) 57 # Back to Back Suspend Delay [all …]
|
D | suspend.cfg | 2 # Generic S3 (Suspend to Mem) test 9 # sudo ./sleepgraph.py -config config/suspend.cfg 20 # Suspend Mode 26 output-dir: suspend-{hostname}-{date}-{time} 36 # Suspend/Resume Gap 37 # insert a small visible gap between suspend and resume on the timeline (default: false) 42 # Command to execute in lieu of suspend (default: "") 53 # Back to Back Suspend/Resume 54 # Run two suspend/resumes back to back (default: false) 57 # Back to Back Suspend Delay [all …]
|
D | suspend-callgraph.cfg | 2 # Full Callgraph for S3 (Suspend to Mem) test 9 # sudo ./sleepgraph.py -config config/suspend.cfg 21 # Suspend Mode 27 output-dir: suspend-{hostname}-{date}-{time}-cg 37 # Suspend/Resume Gap 38 # insert a small visible gap between suspend and resume on the timeline (default: false) 43 # Command to execute in lieu of suspend (default: "") 54 # Back to Back Suspend/Resume 55 # Run two suspend/resumes back to back (default: false) 58 # Back to Back Suspend Delay [all …]
|
D | example.cfg | 2 # Generic S3 (Suspend to Mem) test 20 # Suspend Mode 26 output-dir: suspend-{hostname}-{date}-{time} 36 # Suspend/Resume Gap 37 # insert a small visible gap between suspend and resume on the timeline (default: false) 44 # Sync filesystem before suspend 48 # Runtime suspend enable/disable 49 # Enable/disable runtime suspend for all devices, restore all after test (default: no-action) 66 # Command to execute in lieu of suspend (default: "") 81 # Back to Back Suspend/Resume [all …]
|
/Linux-v5.4/drivers/net/wireless/ath/wil6210/ |
D | pm.c | 63 /* for STA-like interface, don't runtime suspend */ in wil_can_suspend_vif() 67 wil_dbg_pm(wil, "Delay suspend when connecting\n"); in wil_can_suspend_vif() 75 /* AP-like interface - can't suspend */ in wil_can_suspend_vif() 94 wil_dbg_pm(wil, "Deny any suspend - %s mode\n", in wil_can_suspend() 99 if (is_runtime && !wil->platform_ops.suspend) { in wil_can_suspend() 114 wil_dbg_pm(wil, "Delay suspend when resetting\n"); in wil_can_suspend() 119 wil_dbg_pm(wil, "Delay suspend during recovery\n"); in wil_can_suspend() 195 wil_dbg_pm(wil, "suspend keep radio on\n"); in wil_suspend_keep_radio_on() 213 wil_dbg_pm(wil, "Pending TX data, reject suspend\n"); in wil_suspend_keep_radio_on() 219 wil_dbg_pm(wil, "Pending RX data, reject suspend\n"); in wil_suspend_keep_radio_on() [all …]
|
/Linux-v5.4/Documentation/ABI/testing/ |
D | sysfs-power | 15 labels, which may be "mem" (suspend), "standby" (power-on 16 suspend), "freeze" (suspend-to-idle) and "disk" (hibernation). 29 system suspend. Reading from it returns the available modes 32 to suspend the system (by writing "mem" to the /sys/power/state 36 represented by it to be used on subsequent attempts to suspend 47 suspend-to-disk mechanism. Reading from this file returns 49 sleep on the next suspend. There are four methods supported: 52 firmware will handle the system suspend. 62 two testing modes of the suspend-to-disk mechanism: 'testproc' 63 or 'test'. If the suspend-to-disk mechanism is in the [all …]
|
/Linux-v5.4/include/linux/ |
D | pm.h | 65 * This method is executed for all kinds of suspend transitions and is 66 * followed by one of the suspend callbacks: @suspend(), @freeze(), or 67 * @poweroff(). If the transition is a suspend to memory or standby (that 69 * used to indicate to the PM core to leave the device in runtime suspend 74 * are left in runtime suspend too. If that happens, @complete() will be 78 * starting to invoke suspend callbacks for any of them, so generally 85 * [To work around these limitations, drivers may register suspend and 91 * fails before the driver's suspend callback: @suspend(), @freeze() or 92 * @poweroff(), can be executed (e.g. if the suspend callback fails for one 94 * suspend earlier). [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/regulator/ |
D | regulator.yaml | 148 sub-nodes for regulator state in Standby, Suspend-to-RAM, and 149 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 153 regulator-on-in-suspend: 154 description: regulator should be on in suspend state. 157 regulator-off-in-suspend: 158 description: regulator should be off in suspend state. 161 regulator-suspend-min-microvolt: 162 description: minimum voltage may be set in suspend state. 164 regulator-suspend-max-microvolt: 165 description: maximum voltage may be set in suspend state. [all …]
|
D | mcp16502-regulator.txt | 7 suspend-to-ram, keeping the PMIC into HIBERNATE mode. 45 regulator-on-in-suspend; 50 regulator-off-in-suspend; 64 regulator-on-in-suspend; 69 regulator-on-in-suspend; 83 regulator-on-in-suspend; 88 regulator-off-in-suspend; 102 regulator-on-in-suspend; 107 regulator-off-in-suspend; 119 regulator-on-in-suspend; [all …]
|
/Linux-v5.4/Documentation/driver-api/pm/ |
D | devices.rst | 45 low-power states like "suspend" (also known as "suspend-to-RAM"), or 47 "suspend-to-disk"). 50 by implementing various role-specific suspend and resume methods to 71 transitions (suspend or hibernation). 77 various role-specific suspend and resume methods, so that the hardware 127 The core methods to suspend and resume devices reside in 235 suspend the device by putting it into a state compatible with the target 241 resume it by returning it to full power. The suspend and resume operations 244 For simple drivers, suspend might quiesce the device using class code 258 walked in a bottom-up order to suspend devices. A top-down order is [all …]
|
D | notifiers.rst | 5 Suspend/Hibernation Notifiers 14 before hibernation/suspend or after restore/resume, but they require the system 15 to be fully functional, so the drivers' and subsystems' ``->suspend()`` and 24 ``->resume()`` routine. A suspend/hibernation notifier may be used for that. 26 Subsystems or drivers having such needs can register suspend notifiers that 50 The system is preparing for suspend. 53 The system has just resumed or an error occurred during suspend. Device 66 The hibernation and suspend notifiers are called with :c:data:`pm_mutex` held. 70 To register and/or unregister a suspend notifier use 72 respectively (both defined in :file:`include/linux/suspend.h`). If you don't [all …]
|
/Linux-v5.4/arch/arm64/boot/dts/rockchip/ |
D | rk3399-rock960.dtsi | 134 fcs,suspend-voltage-selector = <1>; 145 regulator-off-in-suspend; 152 fcs,suspend-voltage-selector = <1>; 161 regulator-off-in-suspend; 198 regulator-off-in-suspend; 209 regulator-off-in-suspend; 218 regulator-on-in-suspend; 229 regulator-on-in-suspend; 230 regulator-suspend-microvolt = <1800000>; 241 regulator-on-in-suspend; [all …]
|