Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) menu "CPU Frequency scaling"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) config CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 	bool "CPU Frequency scaling"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 	select SRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	  CPU Frequency scaling allows you to change the clock speed of 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	  CPUs on the fly. This is a nice method to save power, because 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	  the lower the CPU clock speed, the less power the CPU consumes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	  Note that this driver doesn't automatically change the CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 	  clock speed, you need to either enable a dynamic cpufreq governor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	  (see below) after boot, or use a userspace tool.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	  For details, take a look at <file:Documentation/cpu-freq>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) if CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) config CPU_FREQ_GOV_ATTR_SET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) config CPU_FREQ_GOV_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	select CPU_FREQ_GOV_ATTR_SET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	select IRQ_WORK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) config CPU_FREQ_STAT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	bool "CPU frequency transition statistics"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	  Export CPU frequency statistics information through sysfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) config CPU_FREQ_TIMES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)        bool "CPU frequency time-in-state statistics"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)        help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)          Export CPU time-in-state information through procfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)          If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	prompt "Default CPUFreq governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if ARM64 || ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if X86_INTEL_PSTATE && SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	  This option sets which CPUFreq governor shall be loaded at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	  startup. If in doubt, use the default setting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	bool "performance"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	select CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	  Use the CPUFreq governor 'performance' as default. This sets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	  the frequency statically to the highest frequency supported by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	  the CPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) config CPU_FREQ_DEFAULT_GOV_POWERSAVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	bool "powersave"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	select CPU_FREQ_GOV_POWERSAVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	  Use the CPUFreq governor 'powersave' as default. This sets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	  the frequency statically to the lowest frequency supported by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	  the CPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) config CPU_FREQ_DEFAULT_GOV_USERSPACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	bool "userspace"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	select CPU_FREQ_GOV_USERSPACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	  Use the CPUFreq governor 'userspace' as default. This allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	  you to set the CPU frequency manually or when a userspace 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	  program shall be able to set the CPU dynamically without having
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	  to enable the userspace governor manually.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) config CPU_FREQ_DEFAULT_GOV_ONDEMAND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	bool "ondemand"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	depends on !(X86_INTEL_PSTATE && SMP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	select CPU_FREQ_GOV_ONDEMAND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	select CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	  Use the CPUFreq governor 'ondemand' as default. This allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	  you to get a full dynamic frequency capable system by simply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	  loading your cpufreq low-level hardware driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	  Be aware that not all cpufreq drivers support the ondemand
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	  governor. If unsure have a look at the help section of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	  driver. Fallback governor will be the performance governor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	bool "conservative"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	depends on !(X86_INTEL_PSTATE && SMP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	select CPU_FREQ_GOV_CONSERVATIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	select CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	  Use the CPUFreq governor 'conservative' as default. This allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	  you to get a full dynamic frequency capable system by simply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	  loading your cpufreq low-level hardware driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	  Be aware that not all cpufreq drivers support the conservative
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	  governor. If unsure have a look at the help section of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	  driver. Fallback governor will be the performance governor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	bool "schedutil"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	select CPU_FREQ_GOV_SCHEDUTIL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	select CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	  Use the 'schedutil' CPUFreq governor by default. If unsure,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	  have a look at the help section of that governor. The fallback
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	  governor will be 'performance'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	bool "interactive"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	depends on NO_GKI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	select CPU_FREQ_GOV_INTERACTIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	select CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	  Use the CPUFreq governor 'interactive' as default. This allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	  you to get a full dynamic cpu frequency capable system by simply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	  loading your cpufreq low-level hardware driver, using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	  'interactive' governor for latency-sensitive workloads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) config CPU_FREQ_GOV_PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	tristate "'performance' governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	  This cpufreq governor sets the frequency statically to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	  highest available CPU frequency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	  module will be called cpufreq_performance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	  If in doubt, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) config CPU_FREQ_GOV_POWERSAVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	tristate "'powersave' governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	  This cpufreq governor sets the frequency statically to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	  lowest available CPU frequency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	  module will be called cpufreq_powersave.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	  If in doubt, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) config CPU_FREQ_GOV_USERSPACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	tristate "'userspace' governor for userspace frequency scaling"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	  Enable this cpufreq governor when you either want to set the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 	  CPU frequency manually or when a userspace program shall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	  be able to set the CPU dynamically, like on LART 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	  <http://www.lartmaker.nl/>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	  module will be called cpufreq_userspace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 	  For details, take a look at <file:Documentation/cpu-freq/>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	  If in doubt, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) config CPU_FREQ_GOV_ONDEMAND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	tristate "'ondemand' cpufreq policy governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	select CPU_FREQ_GOV_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	  The governor does a periodic polling and 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	  changes frequency based on the CPU utilization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	  The support for this governor depends on CPU capability to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	  do fast frequency switching (i.e, very low latency frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	  transitions). 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	  module will be called cpufreq_ondemand.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	  For details, take a look at linux/Documentation/cpu-freq.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) config CPU_FREQ_GOV_CONSERVATIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	tristate "'conservative' cpufreq governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	depends on CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	select CPU_FREQ_GOV_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	  'conservative' - this driver is rather similar to the 'ondemand'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	  governor both in its source code and its purpose, the difference is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	  its optimisation for better suitability in a battery powered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	  environment.  The frequency is gracefully increased and decreased
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	  rather than jumping to 100% when speed is required.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	  If you have a desktop machine then you should really be considering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	  the 'ondemand' governor instead, however if you are using a laptop,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	  PDA or even an AMD64 based computer (due to the unacceptable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	  step-by-step latency issues between the minimum and maximum frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	  transitions in the CPU) you will probably want to use this governor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	  module will be called cpufreq_conservative.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 	  For details, take a look at linux/Documentation/cpu-freq.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) config CPU_FREQ_GOV_SCHEDUTIL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 	bool "'schedutil' cpufreq policy governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	depends on CPU_FREQ && SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	select CPU_FREQ_GOV_ATTR_SET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	select IRQ_WORK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 	  This governor makes decisions based on the utilization data provided
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	  by the scheduler.  It sets the CPU frequency to be proportional to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 	  the utilization/capacity ratio coming from the scheduler.  If the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 	  utilization is frequency-invariant, the new frequency is also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	  proportional to the maximum available frequency.  If that is not the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	  case, it is proportional to the current frequency of the CPU.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	  frequency tipping point is at utilization/capacity equal to 80% in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	  both cases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) config CPU_FREQ_GOV_INTERACTIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	tristate "'interactive' cpufreq policy governor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 	depends on NO_GKI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	depends on CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	select CPU_FREQ_GOV_ATTR_SET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	select IRQ_WORK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	  'interactive' - This driver adds a dynamic cpufreq policy governor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 	  designed for latency-sensitive workloads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 	  This governor attempts to reduce the latency of clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 	  increases so that the system is more responsive to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 	  interactive workloads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	  module will be called cpufreq_interactive.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 	  For details, take a look at linux/Documentation/cpu-freq.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) comment "CPU frequency scaling drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) config CPUFREQ_DT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 	tristate "Generic DT based cpufreq driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	depends on HAVE_CLK && OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 	select CPUFREQ_DT_PLATDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	select PM_OPP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 	  This adds a generic DT based cpufreq driver for frequency management.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 	  systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) config CPUFREQ_DT_PLATDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	  This adds a generic DT based cpufreq platdev driver for frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 	  management.  This creates a 'cpufreq-dt' platform device, on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 	  supported platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) config CPUFREQ_DUMMY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 	tristate "Dummy CPU frequency driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	  This option adds a generic dummy CPUfreq driver, which sets a fake
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 	  2-frequency table when initializing each policy and otherwise does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 	  nothing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 	  If in doubt, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) if X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) source "drivers/cpufreq/Kconfig.x86"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) if ARM || ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) source "drivers/cpufreq/Kconfig.arm"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) if PPC32 || PPC64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) source "drivers/cpufreq/Kconfig.powerpc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) if IA64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) config IA64_ACPI_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 	tristate "ACPI Processor P-States driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 	depends on ACPI_PROCESSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	This driver adds a CPUFreq driver which utilizes the ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	Processor Performance States.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 	For details, take a look at <file:Documentation/cpu-freq/>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 	If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) if MIPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) config BMIPS_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 	tristate "BMIPS CPUfreq Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 	  This option adds a CPUfreq driver for BMIPS processors with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 	  support for configurable CPU frequency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 	  For now, BMIPS5 chips are supported (such as the Broadcom 7425).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) config LOONGSON2_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 	tristate "Loongson2 CPUFreq Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 	depends on LEMOTE_MACH2F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 	  This option adds a CPUFreq driver for loongson processors which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 	  support software configurable cpu frequency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 	  Loongson2F and it's successors support this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 	  For details, take a look at <file:Documentation/cpu-freq/>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) config LOONGSON1_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 	tristate "Loongson1 CPUFreq Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) 	depends on LOONGSON1_LS1B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 	  This option adds a CPUFreq driver for loongson1 processors which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 	  support software configurable cpu frequency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 	  For details, take a look at <file:Documentation/cpu-freq/>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) if SPARC64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) config SPARC_US3_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) 	tristate "UltraSPARC-III CPU Frequency driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) 	  This adds the CPUFreq driver for UltraSPARC-III processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 	  For details, take a look at <file:Documentation/cpu-freq>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) config SPARC_US2E_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 	tristate "UltraSPARC-IIe CPU Frequency driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) 	  This adds the CPUFreq driver for UltraSPARC-IIe processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) 	  For details, take a look at <file:Documentation/cpu-freq>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) 	  If in doubt, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) if SUPERH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) config SH_CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) 	tristate "SuperH CPU Frequency driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) 	  This adds the cpufreq driver for SuperH. Any CPU that supports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) 	  clock rate rounding through the clock framework can use this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) 	  driver. While it will make the kernel slightly larger, this is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) 	  harmless for CPUs that don't support rate rounding. The driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) 	  will also generate a notice in the boot log before disabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) 	  itself if the CPU in question is not capable of rate rounding.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) 	  For details, take a look at <file:Documentation/cpu-freq>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) 	  If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) config QORIQ_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) 	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) 	depends on OF && COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) 	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) 	select CLK_QORIQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) 	  This adds the CPUFreq driver support for Freescale QorIQ SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 	  which are capable of changing the CPU's frequency dynamically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) endmenu