Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) config SUSPEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 	bool "Suspend to RAM and standby"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 	depends on ARCH_SUSPEND_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	  Allow the system to enter sleep states in which main memory is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	  powered and thus its contents are preserved, such as the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	  suspend-to-RAM state (e.g. the ACPI S3 state).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) config SUSPEND_FREEZER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	bool "Enable freezer for suspend to RAM/standby" \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 		if ARCH_WANTS_FREEZER_CONTROL || BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	depends on SUSPEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	  This allows you to turn off the freezer for suspend. If this is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	  done, no tasks are frozen for suspend to RAM/standby.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	  Turning OFF this setting is NOT recommended! If in doubt, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) config SUSPEND_SKIP_SYNC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	bool "Skip kernel's sys_sync() on suspend to RAM/standby"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	depends on SUSPEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	depends on EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	  Skip the kernel sys_sync() before freezing user processes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	  Some systems prefer not to pay this cost on every invocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	  of suspend, or they are content with invoking sync() from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	  user-space before invoking suspend.  There's a run-time switch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	  at '/sys/power/sync_on_suspend' to configure this behaviour.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	  This setting changes the default for the run-tim switch. Say Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	  to change the default to disable the kernel sys_sync().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) config HIBERNATE_CALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) config HIBERNATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	bool "Hibernation (aka 'suspend to disk')"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	depends on SWAP && ARCH_HIBERNATION_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	select HIBERNATE_CALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	select LZO_COMPRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	select LZO_DECOMPRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	  Enable the suspend to disk (STD) functionality, which is usually
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	  called "hibernation" in user interfaces.  STD checkpoints the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	  system and powers it off; and restores that checkpoint on reboot.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	  You can suspend your machine with 'echo disk > /sys/power/state'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	  after placing resume=/dev/swappartition on the kernel command line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	  in your bootloader's configuration file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	  Alternatively, you can use the additional userland tools available
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	  from <http://suspend.sf.net>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	  In principle it does not require ACPI or APM, although for example
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	  ACPI will be used for the final steps when it is available.  One
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	  of the reasons to use software suspend is that the firmware hooks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	  for suspend states like suspend-to-RAM (STR) often don't work very
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	  well with Linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	  It creates an image which is saved in your active swap. Upon the next
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	  boot, pass the 'resume=/dev/swappartition' argument to the kernel to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	  have it detect the saved image, restore memory state from it, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	  continue to run as before. If you do not want the previous state to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	  be reloaded, then use the 'noresume' kernel command line argument.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	  Note, however, that fsck will be run on your filesystems and you will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	  need to run mkswap against the swap partition used for the suspend.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	  It also works with swap files to a limited extent (for details see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	  <file:Documentation/power/swsusp-and-swap-files.rst>).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	  Right now you may boot without resuming and resume later but in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	  meantime you cannot use the swap partition(s)/file(s) involved in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	  suspending.  Also in this case you must not use the filesystems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	  that were mounted before the suspend.  In particular, you MUST NOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	  MOUNT any journaled filesystems mounted before the suspend or they
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	  will get corrupted in a nasty way.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	  For more information take a look at <file:Documentation/power/swsusp.rst>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) config HIBERNATION_SNAPSHOT_DEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	bool "Userspace snapshot device"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	depends on HIBERNATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	  Device used by the uswsusp tools.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	  Say N if no snapshotting from userspace is needed, this also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	  reduces the attack surface of the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	  If in doubt, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) config PM_STD_PARTITION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	string "Default resume partition"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	depends on HIBERNATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	default ""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	  The default resume partition is the partition that the suspend-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	  to-disk implementation will look for a suspended disk image. 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	  The partition specified here will be different for almost every user. 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	  It should be a valid swap partition (at least for now) that is turned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	  on before suspending. 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	  The partition specified can be overridden by specifying:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 		resume=/dev/<other device> 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	  which will set the resume partition to the device specified. 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	  Note there is currently not a way to specify which device to save the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	  suspended image to. It will simply pick the first available swap 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	  device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) config PM_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	depends on SUSPEND || HIBERNATE_CALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	select PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	select SRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) config PM_SLEEP_SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	depends on PM_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	select HOTPLUG_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config PM_SLEEP_SMP_NONZERO_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	depends on PM_SLEEP_SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	depends on ARCH_SUSPEND_NONZERO_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	If an arch can suspend (for suspend, hibernate, kexec, etc) on a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 	non-zero numbered CPU, it may define ARCH_SUSPEND_NONZERO_CPU. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	will allow nohz_full mask to include CPU0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) config PM_AUTOSLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	bool "Opportunistic sleep"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	depends on PM_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 	Allow the kernel to trigger a system transition into a global sleep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	state automatically whenever there are no active wakeup sources.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) config PM_WAKELOCKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	bool "User space wakeup sources interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	depends on PM_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	Allow user space to create, activate and deactivate wakeup source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	objects with the help of a sysfs-based interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) config PM_WAKELOCKS_LIMIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	int "Maximum number of user space wakeup sources (0 = no limit)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	range 0 100000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	default 100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	depends on PM_WAKELOCKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) config PM_WAKELOCKS_GC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	bool "Garbage collector for user space wakeup sources"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	depends on PM_WAKELOCKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) config PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	bool "Device power management core functionality"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	  Enable functionality allowing I/O devices to be put into energy-saving
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	  (low power) states, for example after a specified period of inactivity
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	  (autosuspended), and woken up in response to a hardware-generated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	  wake-up event or a driver's request.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	  Hardware support is generally required for this functionality to work
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	  and the bus type drivers of the buses the devices are on are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	  responsible for the actual handling of device suspend requests and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	  wake-up events.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) config PM_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	bool "Power Management Debug Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 	depends on PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	This option enables various debugging support in the Power Management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	code. This is helpful when debugging and reporting PM bugs, like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	suspend support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) config PM_ADVANCED_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	bool "Extra PM attributes in sysfs for low-level debugging/testing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	depends on PM_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	Add extra sysfs attributes allowing one to access some Power Management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	fields of device objects from user space.  If you are not a kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 	developer interested in debugging/testing Power Management, say "no".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) config PM_TEST_SUSPEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	bool "Test suspend/resume and wakealarm during bootup"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	This option will let you suspend your machine during bootup, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 	make it wake up a few seconds later using an RTC wakeup alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	Enable this with a kernel parameter like "test_suspend=mem".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 	You probably want to have your system's RTC driver statically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 	linked, ensuring that it's available when this test runs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) config PM_SLEEP_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 	depends on PM_DEBUG && PM_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) config DPM_WATCHDOG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	bool "Device suspend/resume watchdog"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	depends on PM_DEBUG && PSTORE && EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	  Sets up a watchdog timer to capture drivers that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 	  locked up attempting to suspend/resume a device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 	  A detected lockup causes system panic with message
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	  captured in pstore device for inspection in subsequent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	  boot session.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) config DPM_WATCHDOG_TIMEOUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	int "Watchdog timeout in seconds"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	range 1 120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	default 120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	depends on DPM_WATCHDOG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) config PM_TRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	  This enables code to save the last PM event point across
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	  reboot. The architecture needs to support this, x86 for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	  example does by saving things in the RTC, see below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 	  The architecture specific code must provide the extern
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 	  functions from <linux/resume-trace.h> as well as the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 	  <asm/resume-trace.h> header with a TRACE_RESUME() macro.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 	  The way the information is presented is architecture-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	  dependent, x86 will print the information during a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	  late_initcall.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) config PM_TRACE_RTC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	bool "Suspend/resume event tracing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	depends on PM_SLEEP_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	depends on X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 	select PM_TRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	This enables some cheesy code to save the last PM event point in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 	RTC across reboots, so that you can debug a machine that just hangs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	during suspend (or more commonly, during resume).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	To use this debugging feature you should attempt to suspend the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	machine, reboot it and then run
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 		dmesg -s 1000000 | grep 'hash matches'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 	CAUTION: this option will cause your machine's real-time clock to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 	set to an invalid time after a resume.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) config APM_EMULATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 	tristate "Advanced Power Management Emulation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 	depends on SYS_SUPPORTS_APM_EMULATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 	  APM is a BIOS specification for saving power using several different
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 	  techniques. This is mostly useful for battery powered laptops with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 	  APM compliant BIOSes. If you say Y here, the system time will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	  reset after a RESUME operation, the /proc/apm device will provide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 	  battery status information, and user-space programs will receive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	  notification of APM "events" (e.g. battery status change).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	  In order to use APM, you will need supporting software. For location
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	  and more information, read <file:Documentation/power/apm-acpi.rst>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 	  and the Battery Powered Linux mini-HOWTO, available from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 	  <http://www.tldp.org/docs.html#howto>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 	  This driver does not spin down disk drives (see the hdparm(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 	  manpage ("man 8 hdparm") for that), and it doesn't turn off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 	  VESA-compliant "green" monitors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 	  Generally, if you don't have a battery in your machine, there isn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 	  much point in using this driver and you should say N. If you get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 	  random kernel OOPSes or reboots that don't seem to be related to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 	  anything, try disabling/enabling this option (or disabling/enabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 	  APM in your BIOS).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) config PM_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 	depends on PM && HAVE_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) config PM_GENERIC_DOMAINS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 	depends on PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) config WQ_POWER_EFFICIENT_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	bool "Enable workqueue power-efficient mode by default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	depends on PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 	default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 	  Per-cpu workqueues are generally preferred because they show
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 	  better performance thanks to cache locality; unfortunately,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 	  per-cpu workqueues tend to be more power hungry than unbound
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 	  workqueues.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 	  Enabling workqueue.power_efficient kernel parameter makes the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 	  per-cpu workqueues which were observed to contribute
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 	  significantly to power consumption unbound, leading to measurably
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 	  lower power usage at the cost of small performance overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 	  This config option determines whether workqueue.power_efficient
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 	  is enabled by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) config PM_GENERIC_DOMAINS_SLEEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 	depends on PM_SLEEP && PM_GENERIC_DOMAINS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) config PM_GENERIC_DOMAINS_OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) 	depends on PM_GENERIC_DOMAINS && OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) config CPU_PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) config ENERGY_MODEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 	bool "Energy Model for CPUs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 	depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 	depends on CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) 	default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 	  Several subsystems (thermal and/or the task scheduler for example)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 	  can leverage information about the energy consumed by CPUs to make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 	  smarter decisions. This config option enables the framework from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 	  which subsystems can access the energy models.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 	  The exact usage of the energy model is subsystem-dependent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 	  If in doubt, say N.