blob: a4ac31e4a58c3b6004003403f783b254529bad7b [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Saharab98e01a2013-07-03 17:49:55 +09002menu "CPU Idle"
Len Brown4f86d3a2007-10-03 18:58:00 -04003
Saharab98e01a2013-07-03 17:49:55 +09004config CPU_IDLE
Len Brown4f86d3a2007-10-03 18:58:00 -04005 bool "CPU idle PM support"
Benjamin Herrenschmidtaa491ad2012-02-22 16:04:24 +11006 default y if ACPI || PPC_PSERIES
Daniel Lezcanod6f346f2013-05-28 15:51:54 +00007 select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
Rafael J. Wysockib26bf6a2019-01-04 12:30:47 +01008 select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
Len Brown4f86d3a2007-10-03 18:58:00 -04009 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
len.brown@intel.com60555e32007-11-19 22:22:37 -050014 If you're using an ACPI-enabled platform, you should say Y here.
Len Brown4f86d3a2007-10-03 18:58:00 -040015
Daniel Lezcanod6f346f2013-05-28 15:51:54 +000016if CPU_IDLE
17
Daniel Lezcanobf4d1b52012-10-31 16:44:48 +000018config CPU_IDLE_MULTIPLE_DRIVERS
Daniel Lezcano3a4a2672014-07-23 19:02:47 +020019 bool
Daniel Lezcanobf4d1b52012-10-31 16:44:48 +000020
Len Brown4f86d3a2007-10-03 18:58:00 -040021config CPU_IDLE_GOV_LADDER
Daniel Lezcanod6f346f2013-05-28 15:51:54 +000022 bool "Ladder governor (for periodic timer tick)"
Len Brown4f86d3a2007-10-03 18:58:00 -040023
24config CPU_IDLE_GOV_MENU
Daniel Lezcanod6f346f2013-05-28 15:51:54 +000025 bool "Menu governor (for tickless system)"
Colin Cross4126c012012-05-07 17:57:41 -070026
Rafael J. Wysockib26bf6a2019-01-04 12:30:47 +010027config 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
Lorenzo Pieralisi9f14da32014-02-14 14:28:39 +000036config DT_IDLE_STATES
37 bool
38
Saharab98e01a2013-07-03 17:49:55 +090039menu "ARM CPU Idle Drivers"
Daniel Lezcano0e087042015-02-02 16:32:46 +010040depends on ARM || ARM64
Saharab98e01a2013-07-03 17:49:55 +090041source "drivers/cpuidle/Kconfig.arm"
42endmenu
Michal Simekbd2a3372013-06-04 07:17:39 +000043
Paul Burtond0508942014-04-14 16:25:29 +010044menu "MIPS CPU Idle Drivers"
45depends on MIPS
46source "drivers/cpuidle/Kconfig.mips"
47endmenu
48
Deepthi Dharwar962e7bd2014-01-14 16:26:02 +053049menu "POWERPC CPU Idle Drivers"
50depends on PPC
51source "drivers/cpuidle/Kconfig.powerpc"
52endmenu
53
Rob Herringbe6a98d2012-10-12 12:45:34 -050054endif
Daniel Lezcanob39b0982013-06-11 08:09:45 +000055
56config ARCH_NEEDS_CPU_IDLE_COUPLED
57 def_bool n
Saharab98e01a2013-07-03 17:49:55 +090058endmenu