Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / cpufreq / Kconfig
diff --git a/kernel/drivers/cpufreq/Kconfig b/kernel/drivers/cpufreq/Kconfig
new file mode 100644 (file)
index 0000000..659879a
--- /dev/null
@@ -0,0 +1,305 @@
+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_COMMON
+       bool
+
+config CPU_FREQ_BOOST_SW
+       bool
+       depends on THERMAL
+
+config CPU_FREQ_STAT
+       tristate "CPU frequency translation statistics"
+       default y
+       help
+         This driver exports CPU frequency statistics information through sysfs
+         file system.
+
+         To compile this driver as a module, choose M here: the
+         module will be called cpufreq_stats.
+
+         If in doubt, say N.
+
+config CPU_FREQ_STAT_DETAILS
+       bool "CPU frequency translation statistics details"
+       depends on CPU_FREQ_STAT
+       help
+         This will show detail CPU frequency translation table in sysfs file
+         system.
+
+         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.
+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_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.
+
+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 PM_OPP
+       help
+         This adds a generic DT based cpufreq driver for frequency management.
+         It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
+         systems which share clock and voltage across all CPUs.
+
+         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 LOONGSON2_CPUFREQ
+       tristate "Loongson2 CPUFreq Driver"
+       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"
+       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)
+       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