Merge tag 'nfsd-6.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
[linux-2.6-microblaze.git] / drivers / cpuidle / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "CPU Idle"
3
4 config CPU_IDLE
5         bool "CPU idle PM support"
6         default y if ACPI || PPC_PSERIES
7         select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
8         select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
9         help
10           CPU idle is a generic framework for supporting software-controlled
11           idle processor power management.  It includes modular cross-platform
12           governors that can be swapped during runtime.
13
14           If you're using an ACPI-enabled platform, you should say Y here.
15
16 if CPU_IDLE
17
18 config CPU_IDLE_MULTIPLE_DRIVERS
19         bool
20
21 config CPU_IDLE_GOV_LADDER
22         bool "Ladder governor (for periodic timer tick)"
23
24 config CPU_IDLE_GOV_MENU
25         bool "Menu governor (for tickless system)"
26
27 config CPU_IDLE_GOV_TEO
28         bool "Timer events oriented (TEO) governor (for tickless systems)"
29         help
30           This governor implements a simplified idle state selection method
31           focused on timer events and does not do any interactivity boosting.
32
33           Some workloads benefit from using it and it generally should be safe
34           to use.  Say Y here if you are not happy with the alternatives.
35
36 config CPU_IDLE_GOV_HALTPOLL
37         bool "Haltpoll governor (for virtualized systems)"
38         depends on KVM_GUEST
39         help
40           This governor implements haltpoll idle state selection, to be
41           used in conjunction with the haltpoll cpuidle driver, allowing
42           for polling for a certain amount of time before entering idle
43           state.
44
45           Some virtualized workloads benefit from using it.
46
47 config DT_IDLE_STATES
48         bool
49
50 config DT_IDLE_GENPD
51         depends on PM_GENERIC_DOMAINS_OF
52         bool
53
54 menu "ARM CPU Idle Drivers"
55 depends on ARM || ARM64
56 source "drivers/cpuidle/Kconfig.arm"
57 endmenu
58
59 menu "MIPS CPU Idle Drivers"
60 depends on MIPS
61 source "drivers/cpuidle/Kconfig.mips"
62 endmenu
63
64 menu "POWERPC CPU Idle Drivers"
65 depends on PPC
66 source "drivers/cpuidle/Kconfig.powerpc"
67 endmenu
68
69 menu "RISC-V CPU Idle Drivers"
70 depends on RISCV
71 source "drivers/cpuidle/Kconfig.riscv"
72 endmenu
73
74 config HALTPOLL_CPUIDLE
75         tristate "Halt poll cpuidle driver"
76         depends on X86 && KVM_GUEST
77         select CPU_IDLE_GOV_HALTPOLL
78         default y
79         help
80          This option enables halt poll cpuidle driver, which allows to poll
81          before halting in the guest (more efficient than polling in the
82          host via halt_poll_ns for some scenarios).
83
84 endif
85
86 config ARCH_NEEDS_CPU_IDLE_COUPLED
87         def_bool n
88 endmenu