319 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			319 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| menu "CPU Frequency scaling"
 | |
| 
 | |
| config CPU_FREQ
 | |
| 	bool "CPU Frequency scaling"
 | |
| 	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/admin-guide/pm/cpufreq.rst>.
 | |
| 
 | |
| 	  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_STAT
 | |
| 	bool "CPU frequency transition statistics"
 | |
| 	help
 | |
| 	  Export CPU frequency statistics information through sysfs.
 | |
| 
 | |
| 	  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_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.
 | |
| 
 | |
| 	  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
 | |
| 	  <file:Documentation/admin-guide/pm/cpufreq.rst>.
 | |
| 
 | |
| 	  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
 | |
| 	  <file:Documentation/admin-guide/pm/cpufreq.rst>.
 | |
| 
 | |
| 	  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
 | |
| 	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.
 | |
| 
 | |
| 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 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.
 | |
| 
 | |
| 	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.
 | |
| 
 | |
| 	  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.
 | |
| 
 | |
| 	  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.
 | |
| 
 | |
| 	  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.
 | |
| 
 | |
| 	  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.
 | |
| 
 | |
| 	  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)
 | |
| 	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
 |