# SPDX-License-Identifier: GPL-2.0-only
menu "CPU Idle"

config CPU_IDLE
	bool "CPU idle PM support"
	default y if ACPI || PPC_PSERIES
	select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
	select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
	help
	  CPU idle is a generic framework for supporting software-controlled
	  idle processor power management.  It includes modular cross-platform
	  governors that can be swapped during runtime.

	  If you're using an ACPI-enabled platform, you should say Y here.

if CPU_IDLE

config CPU_IDLE_MULTIPLE_DRIVERS
        bool

config CPU_IDLE_GOV_LADDER
	bool "Ladder governor (for periodic timer tick)"

config CPU_IDLE_GOV_MENU
	bool "Menu governor (for tickless system)"

config CPU_IDLE_GOV_TEO
	bool "Timer events oriented (TEO) governor (for tickless systems)"
	help
	  This governor implements a simplified idle state selection method
	  focused on timer events and does not do any interactivity boosting.

	  Some workloads benefit from using it and it generally should be safe
	  to use.  Say Y here if you are not happy with the alternatives.

config CPU_IDLE_GOV_HALTPOLL
	bool "Haltpoll governor (for virtualized systems)"
	depends on KVM_GUEST
	help
	  This governor implements haltpoll idle state selection, to be
	  used in conjunction with the haltpoll cpuidle driver, allowing
	  for polling for a certain amount of time before entering idle
	  state.

	  Some virtualized workloads benefit from using it.

config DT_IDLE_STATES
	bool

menu "ARM CPU Idle Drivers"
depends on ARM || ARM64
source "drivers/cpuidle/Kconfig.arm"
endmenu

menu "MIPS CPU Idle Drivers"
depends on MIPS
source "drivers/cpuidle/Kconfig.mips"
endmenu

menu "POWERPC CPU Idle Drivers"
depends on PPC
source "drivers/cpuidle/Kconfig.powerpc"
endmenu

config HALTPOLL_CPUIDLE
       tristate "Halt poll cpuidle driver"
       depends on X86 && KVM_GUEST
       default y
       help
         This option enables halt poll cpuidle driver, which allows to poll
         before halting in the guest (more efficient than polling in the
         host via halt_poll_ns for some scenarios).

endif

config ARCH_NEEDS_CPU_IDLE_COUPLED
	def_bool n
endmenu
