Workqueue is missing a "k". Signed-off-by: Christoph Mair <christoph.mair@husqvarnagroup.com>
200 lines
5.8 KiB
Plaintext
200 lines
5.8 KiB
Plaintext
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# Copyright (c) 2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "Power Management"
|
|
|
|
config HAS_PM
|
|
bool
|
|
help
|
|
This option must be selected by SoCs that provide PM hooks, that is,
|
|
calls to configure low-power states.
|
|
|
|
config PM
|
|
bool "System Power Management"
|
|
depends on SYS_CLOCK_EXISTS && HAS_PM
|
|
help
|
|
This option enables the board to implement extra power management
|
|
policies whenever the kernel becomes idle. The kernel informs the
|
|
power management subsystem of the number of ticks until the next kernel
|
|
timer is due to expire.
|
|
|
|
rsource "policy/Kconfig"
|
|
|
|
if PM
|
|
|
|
module = PM
|
|
module-str = System Power Management
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config PM_STATS
|
|
bool "System Power Management Stats"
|
|
depends on STATS
|
|
help
|
|
Enable System Power Management Stats.
|
|
|
|
config PM_S2RAM
|
|
bool "Suspend-to-RAM (S2RAM)"
|
|
depends on ARCH_HAS_SUSPEND_TO_RAM
|
|
help
|
|
This option enables suspend-to-RAM (S2RAM).
|
|
|
|
config PM_S2RAM_CUSTOM_MARKING
|
|
bool "Use custom marking functions"
|
|
depends on PM_S2RAM
|
|
help
|
|
By default a magic word in RAM is used to mark entering suspend-to-RAM. Enabling
|
|
this option allows custom implementation of functions which handle the marking.
|
|
|
|
config PM_NEED_ALL_DEVICES_IDLE
|
|
bool "System Low Power Mode Needs All Devices Idle"
|
|
depends on PM_DEVICE && !SMP
|
|
help
|
|
When this option is enabled, check that no devices are busy before
|
|
entering into system low power mode.
|
|
|
|
choice PM_PREWAKEUP_CONV_MODE
|
|
prompt "Pre-wakeup microseconds to ticks conversion method"
|
|
default PM_PREWAKEUP_CONV_MODE_NEAR
|
|
help
|
|
Exit latency for each power state is given in microseconds. It is converted
|
|
to ticks and system clock is set to wake up the core earlier before scheduled
|
|
wake up. This option specifies rounding that is used when converting exit
|
|
latency from microseconds to system ticks.
|
|
|
|
config PM_PREWAKEUP_CONV_MODE_NEAR
|
|
bool "Nearest"
|
|
|
|
config PM_PREWAKEUP_CONV_MODE_CEIL
|
|
bool "Round up"
|
|
|
|
config PM_PREWAKEUP_CONV_MODE_FLOOR
|
|
bool "Round down"
|
|
|
|
endchoice
|
|
|
|
endif # PM
|
|
|
|
config PM_DEVICE
|
|
bool "Device Power Management"
|
|
help
|
|
This option enables the device power management interface. The
|
|
interface implemented by device drivers are called by the power
|
|
management subsystem. This allows device drivers to do any
|
|
necessary power management operations like turning off
|
|
device clocks and peripherals. Device drivers may also save
|
|
and restore states in these hook functions.
|
|
|
|
if PM_DEVICE
|
|
|
|
module = PM_DEVICE
|
|
module-str = Device Power Management
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config PM_DEVICE_POWER_DOMAIN
|
|
bool "Power domain"
|
|
depends on PM_DEVICE
|
|
default y
|
|
help
|
|
Enable support for Power Domain. With power domain enabled,
|
|
devices that depend on a domain will be notified when this
|
|
domain is suspended or resumed.
|
|
|
|
config PM_DEVICE_POWER_DOMAIN_DYNAMIC
|
|
bool "Dynamically bind devices to a Power Domain"
|
|
depends on PM_DEVICE_POWER_DOMAIN && DEVICE_DEPS_DYNAMIC
|
|
help
|
|
Enable support for dynamically bind devices to a Power Domain.
|
|
|
|
config PM_DEVICE_POWER_DOMAIN_DYNAMIC_NUM
|
|
int "Number of devices that can dynamically be bind to a Power Domain"
|
|
depends on PM_DEVICE_POWER_DOMAIN_DYNAMIC
|
|
default 1
|
|
help
|
|
The number of devices that can dynamically be bind to a Power Domain.
|
|
|
|
config PM_DEVICE_RUNTIME
|
|
bool "Runtime Device Power Management"
|
|
select EVENTS
|
|
help
|
|
Enable Runtime Power Management to save power. With device runtime PM
|
|
enabled, devices can be suspended or resumed based on the device
|
|
usage even while the CPU or system is running.
|
|
|
|
if PM_DEVICE_RUNTIME
|
|
|
|
config PM_DEVICE_DRIVER_NEEDS_DEDICATED_WQ
|
|
bool
|
|
|
|
config PM_DEVICE_RUNTIME_ASYNC
|
|
bool "Asynchronous device runtime power management"
|
|
default y
|
|
help
|
|
Use this option to enable support for asynchronous operation
|
|
in the power management device runtime.
|
|
|
|
if PM_DEVICE_RUNTIME_ASYNC
|
|
|
|
choice PM_DEVICE_RUNTIME_WQ
|
|
prompt "Work queue to be used by pm device runtime async"
|
|
default PM_DEVICE_RUNTIME_USE_DEDICATED_WQ if PM_DEVICE_DRIVER_NEEDS_DEDICATED_WQ
|
|
default PM_DEVICE_RUNTIME_USE_SYSTEM_WQ
|
|
|
|
config PM_DEVICE_RUNTIME_USE_SYSTEM_WQ
|
|
bool "Use the system workqueue"
|
|
help
|
|
When this option is enabled the power management subsystem will
|
|
use the system workqueue instead of defining its own queue.
|
|
|
|
config PM_DEVICE_RUNTIME_USE_DEDICATED_WQ
|
|
bool "Use a dedicated workqueue"
|
|
help
|
|
When this option is enabled the power management subsystem will
|
|
use a dedicated workqueue instead of the system work queue.
|
|
|
|
if PM_DEVICE_RUNTIME_USE_DEDICATED_WQ
|
|
config PM_DEVICE_RUNTIME_DEDICATED_WQ_STACK_SIZE
|
|
int "Stack size for pm runtime async workqueue"
|
|
default 1024
|
|
help
|
|
Defines the size of the stack on the workqueue used for
|
|
async operations.
|
|
|
|
config PM_DEVICE_RUNTIME_DEDICATED_WQ_PRIO
|
|
int "PM device runtime workqueue priority. Should be pre-emptible."
|
|
default SYSTEM_WORKQUEUE_PRIORITY if PM_DEVICE_RUNTIME_USE_SYSTEM_WQ
|
|
default 0
|
|
|
|
config PM_DEVICE_RUNTIME_DEDICATED_WQ_INIT_PRIO
|
|
int "PM device runtime workqueue init priority"
|
|
default 50
|
|
help
|
|
Init priority level to setup the device runtime workqueue.
|
|
endif #PM_DEVICE_RUNTIME_USE_DEDICATED_WQ
|
|
endchoice
|
|
|
|
endif # PM_DEVICE_RUNTIME_ASYNC
|
|
endif # PM_DEVICE_RUNTIME
|
|
|
|
config PM_DEVICE_SHELL
|
|
bool "Device Power Management shell"
|
|
depends on SHELL
|
|
help
|
|
Enable the device power management shell, for triggering device power
|
|
management events through the shell interface.
|
|
|
|
config PM_DEVICE_SYSTEM_MANAGED
|
|
bool "System-Managed Device Power Management"
|
|
default y if !PM_DEVICE_RUNTIME
|
|
help
|
|
This option enables the system-managed device power
|
|
management. The power management subsystem will suspend
|
|
devices before entering a low power state. Conversely, after
|
|
the core wakes up from low power mode all suspended devices
|
|
are resumed.
|
|
|
|
|
|
endif # PM_DEVICE
|
|
|
|
endmenu
|