xref: /openbmc/linux/drivers/cpuidle/Kconfig (revision 2cffe9f6b96fece065ee8522673c90e92ef2085d)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2b98e01adSSaharamenu "CPU Idle"
34f86d3a8SLen Brown
4b98e01adSSaharaconfig CPU_IDLE
54f86d3a8SLen Brown	bool "CPU idle PM support"
6aa491ad3SBenjamin Herrenschmidt	default y if ACPI || PPC_PSERIES
7d6f346f2SDaniel Lezcano	select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
8b26bf6abSRafael J. Wysocki	select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
94f86d3a8SLen Brown	help
104f86d3a8SLen Brown	  CPU idle is a generic framework for supporting software-controlled
114f86d3a8SLen Brown	  idle processor power management.  It includes modular cross-platform
124f86d3a8SLen Brown	  governors that can be swapped during runtime.
134f86d3a8SLen Brown
1460555e37Slen.brown@intel.com	  If you're using an ACPI-enabled platform, you should say Y here.
154f86d3a8SLen Brown
16d6f346f2SDaniel Lezcanoif CPU_IDLE
17d6f346f2SDaniel Lezcano
18bf4d1b5dSDaniel Lezcanoconfig CPU_IDLE_MULTIPLE_DRIVERS
193a4a267eSDaniel Lezcano        bool
20bf4d1b5dSDaniel Lezcano
214f86d3a8SLen Brownconfig CPU_IDLE_GOV_LADDER
22d6f346f2SDaniel Lezcano	bool "Ladder governor (for periodic timer tick)"
234f86d3a8SLen Brown
244f86d3a8SLen Brownconfig CPU_IDLE_GOV_MENU
25d6f346f2SDaniel Lezcano	bool "Menu governor (for tickless system)"
264126c019SColin Cross
27b26bf6abSRafael J. Wysockiconfig CPU_IDLE_GOV_TEO
28b26bf6abSRafael J. Wysocki	bool "Timer events oriented (TEO) governor (for tickless systems)"
29b26bf6abSRafael J. Wysocki	help
30b26bf6abSRafael J. Wysocki	  This governor implements a simplified idle state selection method
31b26bf6abSRafael J. Wysocki	  focused on timer events and does not do any interactivity boosting.
32b26bf6abSRafael J. Wysocki
33b26bf6abSRafael J. Wysocki	  Some workloads benefit from using it and it generally should be safe
34b26bf6abSRafael J. Wysocki	  to use.  Say Y here if you are not happy with the alternatives.
35b26bf6abSRafael J. Wysocki
36*2cffe9f6SMarcelo Tosatticonfig CPU_IDLE_GOV_HALTPOLL
37*2cffe9f6SMarcelo Tosatti	bool "Haltpoll governor (for virtualized systems)"
38*2cffe9f6SMarcelo Tosatti	depends on KVM_GUEST
39*2cffe9f6SMarcelo Tosatti	help
40*2cffe9f6SMarcelo Tosatti	  This governor implements haltpoll idle state selection, to be
41*2cffe9f6SMarcelo Tosatti	  used in conjunction with the haltpoll cpuidle driver, allowing
42*2cffe9f6SMarcelo Tosatti	  for polling for a certain amount of time before entering idle
43*2cffe9f6SMarcelo Tosatti	  state.
44*2cffe9f6SMarcelo Tosatti
45*2cffe9f6SMarcelo Tosatti	  Some virtualized workloads benefit from using it.
46*2cffe9f6SMarcelo Tosatti
479f14da34SLorenzo Pieralisiconfig DT_IDLE_STATES
489f14da34SLorenzo Pieralisi	bool
499f14da34SLorenzo Pieralisi
50b98e01adSSaharamenu "ARM CPU Idle Drivers"
510e087044SDaniel Lezcanodepends on ARM || ARM64
52b98e01adSSaharasource "drivers/cpuidle/Kconfig.arm"
53b98e01adSSaharaendmenu
54bd2a337aSMichal Simek
55d0508944SPaul Burtonmenu "MIPS CPU Idle Drivers"
56d0508944SPaul Burtondepends on MIPS
57d0508944SPaul Burtonsource "drivers/cpuidle/Kconfig.mips"
58d0508944SPaul Burtonendmenu
59d0508944SPaul Burton
60962e7bd4SDeepthi Dharwarmenu "POWERPC CPU Idle Drivers"
61962e7bd4SDeepthi Dharwardepends on PPC
62962e7bd4SDeepthi Dharwarsource "drivers/cpuidle/Kconfig.powerpc"
63962e7bd4SDeepthi Dharwarendmenu
64962e7bd4SDeepthi Dharwar
65fa86ee90SMarcelo Tosatticonfig HALTPOLL_CPUIDLE
66fa86ee90SMarcelo Tosatti       tristate "Halt poll cpuidle driver"
67fa86ee90SMarcelo Tosatti       depends on X86 && KVM_GUEST
68fa86ee90SMarcelo Tosatti       default y
69fa86ee90SMarcelo Tosatti       help
70fa86ee90SMarcelo Tosatti         This option enables halt poll cpuidle driver, which allows to poll
71fa86ee90SMarcelo Tosatti         before halting in the guest (more efficient than polling in the
72fa86ee90SMarcelo Tosatti         host via halt_poll_ns for some scenarios).
73fa86ee90SMarcelo Tosatti
74be6a98d3SRob Herringendif
75b39b0981SDaniel Lezcano
76b39b0981SDaniel Lezcanoconfig ARCH_NEEDS_CPU_IDLE_COUPLED
77b39b0981SDaniel Lezcano	def_bool n
78b98e01adSSaharaendmenu
79