123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- menu "CPU Frequency scaling"
- config CPU_FREQ
- bool "CPU Frequency scaling"
- select SRCU
- help
- CPU Frequency scaling allows you to change the clock speed of
- CPUs on the fly. This is a nice method to save power, because
- the lower the CPU clock speed, the less power the CPU consumes.
- Note that this driver doesn't automatically change the CPU
- clock speed, you need to either enable a dynamic cpufreq governor
- (see below) after boot, or use a userspace tool.
- For details, take a look at <file:Documentation/cpu-freq>.
- If in doubt, say N.
- if CPU_FREQ
- config CPU_FREQ_GOV_ATTR_SET
- bool
- config CPU_FREQ_GOV_COMMON
- select CPU_FREQ_GOV_ATTR_SET
- select IRQ_WORK
- bool
- config CPU_FREQ_BOOST_SW
- bool
- depends on THERMAL
- config CPU_FREQ_STAT
- bool "CPU frequency transition statistics"
- help
- Export CPU frequency statistics information through sysfs.
- If in doubt, say N.
- config CPU_FREQ_TIMES
- bool "CPU frequency time-in-state statistics"
- help
- Export CPU time-in-state information through procfs.
- If in doubt, say N.
- choice
- prompt "Default CPUFreq governor"
- default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
- default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
- help
- This option sets which CPUFreq governor shall be loaded at
- startup. If in doubt, select 'performance'.
- config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
- bool "performance"
- select CPU_FREQ_GOV_PERFORMANCE
- help
- Use the CPUFreq governor 'performance' as default. This sets
- the frequency statically to the highest frequency supported by
- the CPU.
- config CPU_FREQ_DEFAULT_GOV_POWERSAVE
- bool "powersave"
- select CPU_FREQ_GOV_POWERSAVE
- help
- Use the CPUFreq governor 'powersave' as default. This sets
- the frequency statically to the lowest frequency supported by
- the CPU.
- config CPU_FREQ_DEFAULT_GOV_USERSPACE
- bool "userspace"
- select CPU_FREQ_GOV_USERSPACE
- help
- Use the CPUFreq governor 'userspace' as default. This allows
- you to set the CPU frequency manually or when a userspace
- program shall be able to set the CPU dynamically without having
- to enable the userspace governor manually.
- config CPU_FREQ_DEFAULT_GOV_ONDEMAND
- bool "ondemand"
- select CPU_FREQ_GOV_ONDEMAND
- select CPU_FREQ_GOV_PERFORMANCE
- help
- Use the CPUFreq governor 'ondemand' as default. This allows
- you to get a full dynamic frequency capable system by simply
- loading your cpufreq low-level hardware driver.
- Be aware that not all cpufreq drivers support the ondemand
- governor. If unsure have a look at the help section of the
- driver. Fallback governor will be the performance governor.
- config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
- bool "conservative"
- select CPU_FREQ_GOV_CONSERVATIVE
- select CPU_FREQ_GOV_PERFORMANCE
- help
- Use the CPUFreq governor 'conservative' as default. This allows
- you to get a full dynamic frequency capable system by simply
- loading your cpufreq low-level hardware driver.
- Be aware that not all cpufreq drivers support the conservative
- governor. If unsure have a look at the help section of the
- driver. Fallback governor will be the performance governor.
- config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
- bool "interactive"
- select CPU_FREQ_GOV_INTERACTIVE
- help
- Use the CPUFreq governor 'interactive' as default. This allows
- you to get a full dynamic cpu frequency capable system by simply
- loading your cpufreq low-level hardware driver, using the
- 'interactive' governor for latency-sensitive workloads.
- config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
- bool "schedutil"
- depends on SMP
- select CPU_FREQ_GOV_SCHEDUTIL
- select CPU_FREQ_GOV_PERFORMANCE
- help
- Use the 'schedutil' CPUFreq governor by default. If unsure,
- have a look at the help section of that governor. The fallback
- governor will be 'performance'.
- endchoice
- config CPU_FREQ_GOV_PERFORMANCE
- tristate "'performance' governor"
- help
- This cpufreq governor sets the frequency statically to the
- highest available CPU frequency.
- To compile this driver as a module, choose M here: the
- module will be called cpufreq_performance.
- If in doubt, say Y.
- config CPU_FREQ_GOV_POWERSAVE
- tristate "'powersave' governor"
- help
- This cpufreq governor sets the frequency statically to the
- lowest available CPU frequency.
- To compile this driver as a module, choose M here: the
- module will be called cpufreq_powersave.
- If in doubt, say Y.
- config CPU_FREQ_GOV_USERSPACE
- tristate "'userspace' governor for userspace frequency scaling"
- help
- Enable this cpufreq governor when you either want to set the
- CPU frequency manually or when a userspace program shall
- be able to set the CPU dynamically, like on LART
- <http://www.lartmaker.nl/>.
- To compile this driver as a module, choose M here: the
- module will be called cpufreq_userspace.
- For details, take a look at <file:Documentation/cpu-freq/>.
- If in doubt, say Y.
- config CPU_FREQ_GOV_ONDEMAND
- tristate "'ondemand' cpufreq policy governor"
- select CPU_FREQ_GOV_COMMON
- help
- 'ondemand' - This driver adds a dynamic cpufreq policy governor.
- The governor does a periodic polling and
- changes frequency based on the CPU utilization.
- The support for this governor depends on CPU capability to
- do fast frequency switching (i.e, very low latency frequency
- transitions).
- To compile this driver as a module, choose M here: the
- module will be called cpufreq_ondemand.
- For details, take a look at linux/Documentation/cpu-freq.
- If in doubt, say N.
- config CPU_FREQ_GOV_INTERACTIVE
- bool "'interactive' cpufreq policy governor"
- help
- 'interactive' - This driver adds a dynamic cpufreq policy governor
- designed for latency-sensitive workloads.
- This governor attempts to reduce the latency of clock
- increases so that the system is more responsive to
- interactive workloads.
- For details, take a look at linux/Documentation/cpu-freq.
- If in doubt, say N.
- config CPU_FREQ_GOV_CONSERVATIVE
- tristate "'conservative' cpufreq governor"
- depends on CPU_FREQ
- select CPU_FREQ_GOV_COMMON
- help
- 'conservative' - this driver is rather similar to the 'ondemand'
- governor both in its source code and its purpose, the difference is
- its optimisation for better suitability in a battery powered
- environment. The frequency is gracefully increased and decreased
- rather than jumping to 100% when speed is required.
- If you have a desktop machine then you should really be considering
- the 'ondemand' governor instead, however if you are using a laptop,
- PDA or even an AMD64 based computer (due to the unacceptable
- step-by-step latency issues between the minimum and maximum frequency
- transitions in the CPU) you will probably want to use this governor.
- To compile this driver as a module, choose M here: the
- module will be called cpufreq_conservative.
- For details, take a look at linux/Documentation/cpu-freq.
- If in doubt, say N.
- config CPU_FREQ_GOV_SCHEDUTIL
- bool "'schedutil' cpufreq policy governor"
- depends on CPU_FREQ && SMP
- select CPU_FREQ_GOV_ATTR_SET
- select IRQ_WORK
- help
- This governor makes decisions based on the utilization data provided
- by the scheduler. It sets the CPU frequency to be proportional to
- the utilization/capacity ratio coming from the scheduler. If the
- utilization is frequency-invariant, the new frequency is also
- proportional to the maximum available frequency. If that is not the
- case, it is proportional to the current frequency of the CPU. The
- frequency tipping point is at utilization/capacity equal to 80% in
- both cases.
- If in doubt, say N.
- comment "CPU frequency scaling drivers"
- config CPUFREQ_DT
- tristate "Generic DT based cpufreq driver"
- depends on HAVE_CLK && OF
- # if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
- depends on !CPU_THERMAL || THERMAL
- select CPUFREQ_DT_PLATDEV
- select PM_OPP
- help
- This adds a generic DT based cpufreq driver for frequency management.
- It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
- systems.
- If in doubt, say N.
- config CPUFREQ_DT_PLATDEV
- bool
- help
- This adds a generic DT based cpufreq platdev driver for frequency
- management. This creates a 'cpufreq-dt' platform device, on the
- supported platforms.
- If in doubt, say N.
- config CPUFREQ_DUMMY
- tristate "Dummy CPU frequency driver"
- help
- This option adds a generic dummy CPUfreq driver, which sets a fake
- 2-frequency table when initializing each policy and otherwise does
- nothing.
- If in doubt, say N
- if X86
- source "drivers/cpufreq/Kconfig.x86"
- endif
- if ARM || ARM64
- source "drivers/cpufreq/Kconfig.arm"
- endif
- if PPC32 || PPC64
- source "drivers/cpufreq/Kconfig.powerpc"
- endif
- if AVR32
- config AVR32_AT32AP_CPUFREQ
- bool "CPU frequency driver for AT32AP"
- depends on PLATFORM_AT32AP
- default n
- help
- This enables the CPU frequency driver for AT32AP processors.
- If in doubt, say N.
- endif
- if IA64
- config IA64_ACPI_CPUFREQ
- tristate "ACPI Processor P-States driver"
- depends on ACPI_PROCESSOR
- help
- This driver adds a CPUFreq driver which utilizes the ACPI
- Processor Performance States.
- For details, take a look at <file:Documentation/cpu-freq/>.
- If in doubt, say N.
- endif
- if MIPS
- config BMIPS_CPUFREQ
- tristate "BMIPS CPUfreq Driver"
- help
- This option adds a CPUfreq driver for BMIPS processors with
- support for configurable CPU frequency.
- For now, BMIPS5 chips are supported (such as the Broadcom 7425).
- If in doubt, say N.
- config LOONGSON2_CPUFREQ
- tristate "Loongson2 CPUFreq Driver"
- depends on LEMOTE_MACH2F
- help
- This option adds a CPUFreq driver for loongson processors which
- support software configurable cpu frequency.
- Loongson2F and it's successors support this feature.
- For details, take a look at <file:Documentation/cpu-freq/>.
- If in doubt, say N.
- config LOONGSON1_CPUFREQ
- tristate "Loongson1 CPUFreq Driver"
- depends on LOONGSON1_LS1B
- help
- This option adds a CPUFreq driver for loongson1 processors which
- support software configurable cpu frequency.
- For details, take a look at <file:Documentation/cpu-freq/>.
- If in doubt, say N.
- endif
- if SPARC64
- config SPARC_US3_CPUFREQ
- tristate "UltraSPARC-III CPU Frequency driver"
- help
- This adds the CPUFreq driver for UltraSPARC-III processors.
- For details, take a look at <file:Documentation/cpu-freq>.
- If in doubt, say N.
- config SPARC_US2E_CPUFREQ
- tristate "UltraSPARC-IIe CPU Frequency driver"
- help
- This adds the CPUFreq driver for UltraSPARC-IIe processors.
- For details, take a look at <file:Documentation/cpu-freq>.
- If in doubt, say N.
- endif
- if SUPERH
- config SH_CPU_FREQ
- tristate "SuperH CPU Frequency driver"
- help
- This adds the cpufreq driver for SuperH. Any CPU that supports
- clock rate rounding through the clock framework can use this
- driver. While it will make the kernel slightly larger, this is
- harmless for CPUs that don't support rate rounding. The driver
- will also generate a notice in the boot log before disabling
- itself if the CPU in question is not capable of rate rounding.
- For details, take a look at <file:Documentation/cpu-freq>.
- If unsure, say N.
- endif
- config QORIQ_CPUFREQ
- tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
- depends on OF && COMMON_CLK && (PPC_E500MC || ARM || ARM64)
- depends on !CPU_THERMAL || THERMAL
- select CLK_QORIQ
- help
- This adds the CPUFreq driver support for Freescale QorIQ SoCs
- which are capable of changing the CPU's frequency dynamically.
- endif
- endmenu
|