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 362cffe9f6SMarcelo Tosatticonfig CPU_IDLE_GOV_HALTPOLL 372cffe9f6SMarcelo Tosatti bool "Haltpoll governor (for virtualized systems)" 382cffe9f6SMarcelo Tosatti depends on KVM_GUEST 392cffe9f6SMarcelo Tosatti help 402cffe9f6SMarcelo Tosatti This governor implements haltpoll idle state selection, to be 412cffe9f6SMarcelo Tosatti used in conjunction with the haltpoll cpuidle driver, allowing 422cffe9f6SMarcelo Tosatti for polling for a certain amount of time before entering idle 432cffe9f6SMarcelo Tosatti state. 442cffe9f6SMarcelo Tosatti 452cffe9f6SMarcelo Tosatti Some virtualized workloads benefit from using it. 462cffe9f6SMarcelo Tosatti 479f14da34SLorenzo Pieralisiconfig DT_IDLE_STATES 489f14da34SLorenzo Pieralisi bool 499f14da34SLorenzo Pieralisi 509d976d67SAnup Patelconfig DT_IDLE_GENPD 519d976d67SAnup Patel depends on PM_GENERIC_DOMAINS_OF 529d976d67SAnup Patel bool 539d976d67SAnup Patel 54b98e01adSSaharamenu "ARM CPU Idle Drivers" 550e087044SDaniel Lezcanodepends on ARM || ARM64 56b98e01adSSaharasource "drivers/cpuidle/Kconfig.arm" 57b98e01adSSaharaendmenu 58bd2a337aSMichal Simek 59d0508944SPaul Burtonmenu "MIPS CPU Idle Drivers" 60d0508944SPaul Burtondepends on MIPS 61d0508944SPaul Burtonsource "drivers/cpuidle/Kconfig.mips" 62d0508944SPaul Burtonendmenu 63d0508944SPaul Burton 64962e7bd4SDeepthi Dharwarmenu "POWERPC CPU Idle Drivers" 65962e7bd4SDeepthi Dharwardepends on PPC 66962e7bd4SDeepthi Dharwarsource "drivers/cpuidle/Kconfig.powerpc" 67962e7bd4SDeepthi Dharwarendmenu 68962e7bd4SDeepthi Dharwar 696abf32f1SAnup Patelmenu "RISC-V CPU Idle Drivers" 706abf32f1SAnup Pateldepends on RISCV 716abf32f1SAnup Patelsource "drivers/cpuidle/Kconfig.riscv" 726abf32f1SAnup Patelendmenu 736abf32f1SAnup Patel 74fa86ee90SMarcelo Tosatticonfig HALTPOLL_CPUIDLE 75fa86ee90SMarcelo Tosatti tristate "Halt poll cpuidle driver" 76fa86ee90SMarcelo Tosatti depends on X86 && KVM_GUEST 77*4edc13aeSLi RongQing select CPU_IDLE_GOV_HALTPOLL 78fa86ee90SMarcelo Tosatti default y 79fa86ee90SMarcelo Tosatti help 80fa86ee90SMarcelo Tosatti This option enables halt poll cpuidle driver, which allows to poll 81fa86ee90SMarcelo Tosatti before halting in the guest (more efficient than polling in the 82fa86ee90SMarcelo Tosatti host via halt_poll_ns for some scenarios). 83fa86ee90SMarcelo Tosatti 84be6a98d3SRob Herringendif 85b39b0981SDaniel Lezcano 86b39b0981SDaniel Lezcanoconfig ARCH_NEEDS_CPU_IDLE_COUPLED 87b39b0981SDaniel Lezcano def_bool n 88b98e01adSSaharaendmenu 89