1 # SPDX-License-Identifier: GPL-2.0-only !! 1 config PM 2 config SUSPEND !! 2 bool "Power Management support" 3 bool "Suspend to RAM and standby" !! 3 ---help--- 4 depends on ARCH_SUSPEND_POSSIBLE !! 4 "Power Management" means that parts of your computer are shut 5 default y !! 5 off or put into a power conserving "sleep" mode if they are not 6 help !! 6 being used. There are two competing standards for doing this: APM 7 Allow the system to enter sleep stat !! 7 and ACPI. If you want to use either one, say Y here and then also 8 powered and thus its contents are pr !! 8 to the requisite support below. 9 suspend-to-RAM state (e.g. the ACPI !! 9 10 !! 10 Power Management is most important for battery powered laptop 11 config SUSPEND_FREEZER !! 11 computers; if you have a laptop, check out the Linux Laptop home 12 bool "Enable freezer for suspend to RA !! 12 page on the WWW at 13 if ARCH_WANTS_FREEZER_CONTROL !! 13 <http://www.cs.utexas.edu/users/kharker/linux-laptop/> and the 14 depends on SUSPEND !! 14 Battery Powered Linux mini-HOWTO, available from 15 default y !! 15 <http://www.tldp.org/docs.html#howto>. 16 help !! 16 17 This allows you to turn off the free !! 17 Note that, even if you say N here, Linux on the x86 architecture 18 done, no tasks are frozen for suspen !! 18 will issue the hlt instruction if nothing is to be done, thereby 19 !! 19 sending the processor to sleep and saving power. 20 Turning OFF this setting is NOT reco !! 20 21 !! 21 config SOFTWARE_SUSPEND 22 config SUSPEND_SKIP_SYNC !! 22 bool "Software Suspend (EXPERIMENTAL)" 23 bool "Skip kernel's sys_sync() on susp !! 23 depends on EXPERIMENTAL && PM && SWAP 24 depends on SUSPEND !! 24 ---help--- 25 depends on EXPERT !! 25 Enable the possibilty of suspendig machine. It doesn't need APM. 26 help !! 26 You may suspend your machine by 'swsusp' or 'shutdown -z <time>' 27 Skip the kernel sys_sync() before fr !! 27 (patch for sysvinit needed). 28 Some systems prefer not to pay this !! 28 29 of suspend, or they are content with !! 29 It creates an image which is saved in your active swaps. By the next 30 user-space before invoking suspend. !! 30 booting the, pass 'resume=/dev/swappartition' and kernel will 31 at '/sys/power/sync_on_suspend' to c !! 31 detect the saved image, restore the memory from 32 This setting changes the default for !! 32 it and then it continues to run as before you've suspended. 33 to change the default to disable the !! 33 If you don't want the previous state to continue use the 'noresume' 34 !! 34 kernel option. However note that your partitions will be fsck'd and 35 config HIBERNATE_CALLBACKS !! 35 you must re-mkswap your swap partitions. It does not work with swap 36 bool !! 36 files. 37 !! 37 38 config HIBERNATION !! 38 Right now you may boot without resuming and then later resume but 39 bool "Hibernation (aka 'suspend to dis !! 39 in meantime you cannot use those swap partitions/files which were 40 depends on SWAP && ARCH_HIBERNATION_PO !! 40 involved in suspending. Also in this case there is a risk that buffers 41 select HIBERNATE_CALLBACKS !! 41 on disk won't match with saved ones. 42 select CRC32 !! 42 43 select CRYPTO !! 43 For more information take a look at Documentation/swsusp.txt. 44 select CRYPTO_LZO !! 44 45 help !! 45 config PM_DISK 46 Enable the suspend to disk (STD) fun !! 46 bool "Suspend-to-Disk Support" 47 called "hibernation" in user interfa !! 47 depends on PM && SWAP 48 system and powers it off; and restor !! 48 ---help--- 49 !! 49 Suspend-to-disk is a power management state in which the contents 50 You can suspend your machine with 'e !! 50 of memory are stored on disk and the entire system is shut down or 51 after placing resume=/dev/swappartit !! 51 put into a low-power state (e.g. ACPI S4). When the computer is 52 in your bootloader's configuration f !! 52 turned back on, the stored image is loaded from disk and execution 53 !! 53 resumes from where it left off before suspending. 54 Alternatively, you can use the addit !! 54 55 from <http://suspend.sf.net>. !! 55 This config option enables the core infrastructure necessary to 56 !! 56 perform the suspend and resume transition. 57 In principle it does not require ACP !! 57 58 ACPI will be used for the final step !! 58 Currently, this suspend-to-disk implementation is based on a forked 59 of the reasons to use software suspe !! 59 version of the swsusp code base. As such, it's still experimental, 60 for suspend states like suspend-to-R !! 60 and still relies on CONFIG_SWAP. 61 well with Linux. << 62 << 63 It creates an image which is saved i << 64 boot, pass the 'resume=/dev/swappart << 65 have it detect the saved image, rest << 66 continue to run as before. If you do << 67 be reloaded, then use the 'noresume' << 68 Note, however, that fsck will be run << 69 need to run mkswap against the swap << 70 << 71 It also works with swap files to a l << 72 <file:Documentation/power/swsusp-and << 73 << 74 Right now you may boot without resum << 75 meantime you cannot use the swap par << 76 suspending. Also in this case you m << 77 that were mounted before the suspend << 78 MOUNT any journaled filesystems moun << 79 will get corrupted in a nasty way. << 80 << 81 For more information take a look at << 82 << 83 config HIBERNATION_SNAPSHOT_DEV << 84 bool "Userspace snapshot device" << 85 depends on HIBERNATION << 86 default y << 87 help << 88 Device used by the uswsusp tools. << 89 << 90 Say N if no snapshotting from usersp << 91 reduces the attack surface of the ke << 92 << 93 If in doubt, say Y. << 94 << 95 choice << 96 prompt "Default compressor" << 97 default HIBERNATION_COMP_LZO << 98 depends on HIBERNATION << 99 << 100 config HIBERNATION_COMP_LZO << 101 bool "lzo" << 102 depends on CRYPTO_LZO << 103 << 104 config HIBERNATION_COMP_LZ4 << 105 bool "lz4" << 106 depends on CRYPTO_LZ4 << 107 << 108 endchoice << 109 << 110 config HIBERNATION_DEF_COMP << 111 string << 112 default "lzo" if HIBERNATION_COMP_LZO << 113 default "lz4" if HIBERNATION_COMP_LZ4 << 114 help << 115 Default compressor to be used for hi << 116 61 117 config PM_STD_PARTITION !! 62 More information can be found in Documentation/power/. >> 63 >> 64 If unsure, Say N. >> 65 >> 66 config PM_DISK_PARTITION 118 string "Default resume partition" 67 string "Default resume partition" 119 depends on HIBERNATION !! 68 depends on PM_DISK 120 default "" 69 default "" 121 help !! 70 ---help--- 122 The default resume partition is the !! 71 The default resume partition is the partition that the pmdisk suspend- 123 to-disk implementation will look for !! 72 to-disk implementation will look for a suspended disk image. 124 73 125 The partition specified here will be !! 74 The partition specified here will be different for almost every user. 126 It should be a valid swap partition 75 It should be a valid swap partition (at least for now) that is turned 127 on before suspending. !! 76 on before suspending. 128 77 129 The partition specified can be overr 78 The partition specified can be overridden by specifying: 130 79 131 resume=/dev/<other device> !! 80 pmdisk=/dev/<other device> 132 << 133 which will set the resume partition << 134 81 135 Note there is currently not a way to !! 82 which will set the resume partition to the device specified. 136 suspended image to. It will simply p << 137 device. << 138 83 139 config PM_SLEEP !! 84 One may also do: 140 def_bool y << 141 depends on SUSPEND || HIBERNATE_CALLBA << 142 select PM << 143 << 144 config PM_SLEEP_SMP << 145 def_bool y << 146 depends on SMP << 147 depends on ARCH_SUSPEND_POSSIBLE || AR << 148 depends on PM_SLEEP << 149 select HOTPLUG_CPU << 150 << 151 config PM_SLEEP_SMP_NONZERO_CPU << 152 def_bool y << 153 depends on PM_SLEEP_SMP << 154 depends on ARCH_SUSPEND_NONZERO_CPU << 155 help << 156 If an arch can suspend (for suspend, h << 157 non-zero numbered CPU, it may define A << 158 will allow nohz_full mask to include C << 159 << 160 config PM_AUTOSLEEP << 161 bool "Opportunistic sleep" << 162 depends on PM_SLEEP << 163 help << 164 Allow the kernel to trigger a system t << 165 state automatically whenever there are << 166 << 167 config PM_USERSPACE_AUTOSLEEP << 168 bool "Userspace opportunistic sleep" << 169 depends on PM_SLEEP << 170 help << 171 Notify kernel of aggressive userspace << 172 << 173 This option changes the behavior of va << 174 with frequent userspace-initiated tran << 175 << 176 Saying Y here, disables code paths tha << 177 enabled. In particular, only enable th << 178 asleep/awake for very short periods of << 179 << 180 Only platforms, such as Android, that << 181 a userspace power manager service shou << 182 other machines. Therefore, you should << 183 extremely certain that this is what yo << 184 bad, undesirable effects, and should n << 185 << 186 << 187 config PM_WAKELOCKS << 188 bool "User space wakeup sources interf << 189 depends on PM_SLEEP << 190 help << 191 Allow user space to create, activate a << 192 objects with the help of a sysfs-based << 193 << 194 config PM_WAKELOCKS_LIMIT << 195 int "Maximum number of user space wake << 196 range 0 100000 << 197 default 100 << 198 depends on PM_WAKELOCKS << 199 << 200 config PM_WAKELOCKS_GC << 201 bool "Garbage collector for user space << 202 depends on PM_WAKELOCKS << 203 default y << 204 85 205 config PM !! 86 pmdisk=off 206 bool "Device power management core fun << 207 help << 208 Enable functionality allowing I/O de << 209 (low power) states, for example afte << 210 (autosuspended), and woken up in res << 211 wake-up event or a driver's request. << 212 << 213 Hardware support is generally requir << 214 and the bus type drivers of the buse << 215 responsible for the actual handling << 216 wake-up events. << 217 << 218 config PM_DEBUG << 219 bool "Power Management Debug Support" << 220 depends on PM << 221 help << 222 This option enables various debugging << 223 code. This is helpful when debugging a << 224 suspend support. << 225 << 226 config PM_ADVANCED_DEBUG << 227 bool "Extra PM attributes in sysfs for << 228 depends on PM_DEBUG << 229 help << 230 Add extra sysfs attributes allowing on << 231 fields of device objects from user spa << 232 developer interested in debugging/test << 233 << 234 config PM_TEST_SUSPEND << 235 bool "Test suspend/resume and wakealar << 236 depends on SUSPEND && PM_DEBUG && RTC_ << 237 help << 238 This option will let you suspend your << 239 make it wake up a few seconds later us << 240 Enable this with a kernel parameter li << 241 << 242 You probably want to have your system' << 243 linked, ensuring that it's available w << 244 << 245 config PM_SLEEP_DEBUG << 246 def_bool y << 247 depends on PM_DEBUG && PM_SLEEP << 248 << 249 config DPM_WATCHDOG << 250 bool "Device suspend/resume watchdog" << 251 depends on PM_DEBUG && PSTORE && EXPER << 252 help << 253 Sets up a watchdog timer to capture << 254 locked up attempting to suspend/resu << 255 A detected lockup causes system pani << 256 captured in pstore device for inspec << 257 boot session. << 258 << 259 config DPM_WATCHDOG_TIMEOUT << 260 int "Watchdog timeout in seconds" << 261 range 1 120 << 262 default 120 << 263 depends on DPM_WATCHDOG << 264 << 265 config PM_TRACE << 266 bool << 267 help << 268 This enables code to save the last P << 269 reboot. The architecture needs to su << 270 example does by saving things in the << 271 << 272 The architecture specific code must << 273 functions from <linux/resume-trace.h << 274 <asm/resume-trace.h> header with a T << 275 << 276 The way the information is presented << 277 dependent, x86 will print the inform << 278 late_initcall. << 279 << 280 config PM_TRACE_RTC << 281 bool "Suspend/resume event tracing" << 282 depends on PM_SLEEP_DEBUG << 283 depends on X86 << 284 select PM_TRACE << 285 help << 286 This enables some cheesy code to save << 287 RTC across reboots, so that you can de << 288 during suspend (or more commonly, duri << 289 << 290 To use this debugging feature you shou << 291 machine, reboot it and then run << 292 << 293 dmesg -s 1000000 | grep 'hash << 294 << 295 CAUTION: this option will cause your m << 296 set to an invalid time after a resume. << 297 << 298 config APM_EMULATION << 299 tristate "Advanced Power Management Em << 300 depends on SYS_SUPPORTS_APM_EMULATION << 301 help << 302 APM is a BIOS specification for savi << 303 techniques. This is mostly useful fo << 304 APM compliant BIOSes. If you say Y h << 305 reset after a RESUME operation, the << 306 battery status information, and user << 307 notification of APM "events" (e.g. b << 308 << 309 In order to use APM, you will need s << 310 and more information, read <file:Doc << 311 and the Battery Powered Linux mini-H << 312 <http://www.tldp.org/docs.html#howto << 313 87 314 This driver does not spin down disk !! 88 to inform the kernel not to perform a resume transition. 315 manpage ("man 8 hdparm") for that), << 316 VESA-compliant "green" monitors. << 317 << 318 Generally, if you don't have a batte << 319 much point in using this driver and << 320 random kernel OOPSes or reboots that << 321 anything, try disabling/enabling thi << 322 APM in your BIOS). << 323 << 324 config PM_CLK << 325 def_bool y << 326 depends on PM && HAVE_CLK << 327 << 328 config PM_GENERIC_DOMAINS << 329 bool << 330 depends on PM << 331 << 332 config WQ_POWER_EFFICIENT_DEFAULT << 333 bool "Enable workqueue power-efficient << 334 depends on PM << 335 help << 336 Per-cpu workqueues are generally pre << 337 better performance thanks to cache l << 338 per-cpu workqueues tend to be more p << 339 workqueues. << 340 << 341 Enabling workqueue.power_efficient k << 342 per-cpu workqueues which were observ << 343 significantly to power consumption u << 344 lower power usage at the cost of sma << 345 << 346 This config option determines whethe << 347 is enabled by default. << 348 << 349 If in doubt, say N. << 350 << 351 config PM_GENERIC_DOMAINS_SLEEP << 352 def_bool y << 353 depends on PM_SLEEP && PM_GENERIC_DOMA << 354 << 355 config PM_GENERIC_DOMAINS_OF << 356 def_bool y << 357 depends on PM_GENERIC_DOMAINS && OF << 358 << 359 config CPU_PM << 360 bool << 361 << 362 config ENERGY_MODEL << 363 bool "Energy Model for devices with DV << 364 depends on SMP << 365 depends on CPU_FREQ << 366 help << 367 Several subsystems (thermal and/or t << 368 can leverage information about the e << 369 make smarter decisions. This config << 370 from which subsystems can access the << 371 89 372 The exact usage of the energy model !! 90 Note there is currently not a way to specify which device to save the >> 91 suspended image to. It will simply pick the first available swap >> 92 device. 373 93 374 If in doubt, say N. <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.