Kconfig.x86 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # x86 CPU Frequency scaling drivers
  4. #
  5. config X86_INTEL_PSTATE
  6. bool "Intel P state control"
  7. depends on X86
  8. select ACPI_PROCESSOR if ACPI
  9. select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO
  10. select CPU_FREQ_GOV_PERFORMANCE
  11. select CPU_FREQ_GOV_SCHEDUTIL if SMP
  12. help
  13. This driver provides a P state for Intel core processors.
  14. The driver implements an internal governor and will become
  15. the scaling driver and governor for Sandy bridge processors.
  16. When this driver is enabled it will become the preferred
  17. scaling driver for Sandy bridge processors.
  18. If in doubt, say N.
  19. config X86_PCC_CPUFREQ
  20. tristate "Processor Clocking Control interface driver"
  21. depends on ACPI && ACPI_PROCESSOR
  22. help
  23. This driver adds support for the PCC interface.
  24. For details, take a look at:
  25. <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
  26. To compile this driver as a module, choose M here: the
  27. module will be called pcc-cpufreq.
  28. If in doubt, say N.
  29. config X86_AMD_PSTATE
  30. bool "AMD Processor P-State driver"
  31. depends on X86 && ACPI
  32. select ACPI_PROCESSOR
  33. select ACPI_CPPC_LIB if X86_64
  34. select CPU_FREQ_GOV_SCHEDUTIL if SMP
  35. help
  36. This driver adds a CPUFreq driver which utilizes a fine grain
  37. processor performance frequency control range instead of legacy
  38. performance levels. _CPC needs to be present in the ACPI tables
  39. of the system.
  40. For details, take a look at:
  41. <file:Documentation/admin-guide/pm/amd-pstate.rst>.
  42. If in doubt, say N.
  43. config X86_AMD_PSTATE_DEFAULT_MODE
  44. int "AMD Processor P-State default mode"
  45. depends on X86_AMD_PSTATE
  46. default 3 if X86_AMD_PSTATE
  47. range 1 4
  48. help
  49. Select the default mode the amd-pstate driver will use on
  50. supported hardware.
  51. The value set has the following meanings:
  52. 1 -> Disabled
  53. 2 -> Passive
  54. 3 -> Active (EPP)
  55. 4 -> Guided
  56. For details, take a look at:
  57. <file:Documentation/admin-guide/pm/amd-pstate.rst>.
  58. config X86_AMD_PSTATE_UT
  59. tristate "selftest for AMD Processor P-State driver"
  60. depends on X86 && ACPI_PROCESSOR
  61. depends on X86_AMD_PSTATE
  62. default n
  63. help
  64. This kernel module is used for testing. It's safe to say M here.
  65. It can also be built-in without X86_AMD_PSTATE enabled.
  66. Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE
  67. is set disabled, it can tell the users test can only run on amd-pstate
  68. driver, please set X86_AMD_PSTATE enabled.
  69. In the future, comparison tests will be added. It can set amd-pstate
  70. disabled and set acpi-cpufreq enabled to run test cases, then compare
  71. the test results.
  72. config X86_ACPI_CPUFREQ
  73. tristate "ACPI Processor P-States driver"
  74. depends on ACPI_PROCESSOR
  75. help
  76. This driver adds a CPUFreq driver which utilizes the ACPI
  77. Processor Performance States.
  78. This driver also supports Intel Enhanced Speedstep and newer
  79. AMD CPUs.
  80. To compile this driver as a module, choose M here: the
  81. module will be called acpi-cpufreq.
  82. For details, take a look at <file:Documentation/cpu-freq/>.
  83. If in doubt, say N.
  84. config X86_ACPI_CPUFREQ_CPB
  85. default y
  86. bool "Legacy cpb sysfs knob support for AMD CPUs"
  87. depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
  88. help
  89. The powernow-k8 driver used to provide a sysfs knob called "cpb"
  90. to disable the Core Performance Boosting feature of AMD CPUs. This
  91. file has now been superseded by the more generic "boost" entry.
  92. By enabling this option the acpi_cpufreq driver provides the old
  93. entry in addition to the new boost ones, for compatibility reasons.
  94. config ELAN_CPUFREQ
  95. tristate "AMD Elan SC400 and SC410"
  96. depends on MELAN
  97. help
  98. This adds the CPUFreq driver for AMD Elan SC400 and SC410
  99. processors.
  100. You need to specify the processor maximum speed as boot
  101. parameter: elanfreq=maxspeed (in kHz) or as module
  102. parameter "max_freq".
  103. For details, take a look at <file:Documentation/cpu-freq/>.
  104. If in doubt, say N.
  105. config SC520_CPUFREQ
  106. tristate "AMD Elan SC520"
  107. depends on MELAN
  108. help
  109. This adds the CPUFreq driver for AMD Elan SC520 processor.
  110. For details, take a look at <file:Documentation/cpu-freq/>.
  111. If in doubt, say N.
  112. config X86_POWERNOW_K6
  113. tristate "AMD Mobile K6-2/K6-3 PowerNow!"
  114. depends on X86_32
  115. help
  116. This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
  117. AMD K6-3+ processors.
  118. For details, take a look at <file:Documentation/cpu-freq/>.
  119. If in doubt, say N.
  120. config X86_POWERNOW_K7
  121. tristate "AMD Mobile Athlon/Duron PowerNow!"
  122. depends on X86_32
  123. help
  124. This adds the CPUFreq driver for mobile AMD K7 mobile processors.
  125. For details, take a look at <file:Documentation/cpu-freq/>.
  126. If in doubt, say N.
  127. config X86_POWERNOW_K7_ACPI
  128. bool
  129. depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
  130. depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
  131. depends on X86_32
  132. default y
  133. config X86_POWERNOW_K8
  134. tristate "AMD Opteron/Athlon64 PowerNow!"
  135. depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
  136. help
  137. This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
  138. Support for K10 and newer processors is now in acpi-cpufreq.
  139. To compile this driver as a module, choose M here: the
  140. module will be called powernow-k8.
  141. For details, take a look at <file:Documentation/cpu-freq/>.
  142. config X86_AMD_FREQ_SENSITIVITY
  143. tristate "AMD frequency sensitivity feedback powersave bias"
  144. depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
  145. help
  146. This adds AMD-specific powersave bias function to the ondemand
  147. governor, which allows it to make more power-conscious frequency
  148. change decisions based on feedback from hardware (available on AMD
  149. Family 16h and above).
  150. Hardware feedback tells software how "sensitive" to frequency changes
  151. the CPUs' workloads are. CPU-bound workloads will be more sensitive
  152. -- they will perform better as frequency increases. Memory/IO-bound
  153. workloads will be less sensitive -- they will not necessarily perform
  154. better as frequency increases.
  155. If in doubt, say N.
  156. config X86_GX_SUSPMOD
  157. tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
  158. depends on X86_32 && PCI
  159. help
  160. This add the CPUFreq driver for NatSemi Geode processors which
  161. support suspend modulation.
  162. For details, take a look at <file:Documentation/cpu-freq/>.
  163. If in doubt, say N.
  164. config X86_SPEEDSTEP_CENTRINO
  165. tristate "Intel Enhanced SpeedStep (deprecated)"
  166. select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
  167. depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
  168. help
  169. This is deprecated and this functionality is now merged into
  170. acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
  171. speedstep_centrino.
  172. This adds the CPUFreq driver for Enhanced SpeedStep enabled
  173. mobile CPUs. This means Intel Pentium M (Centrino) CPUs
  174. or 64bit enabled Intel Xeons.
  175. To compile this driver as a module, choose M here: the
  176. module will be called speedstep-centrino.
  177. For details, take a look at <file:Documentation/cpu-freq/>.
  178. If in doubt, say N.
  179. config X86_SPEEDSTEP_CENTRINO_TABLE
  180. bool "Built-in tables for Banias CPUs"
  181. depends on X86_32 && X86_SPEEDSTEP_CENTRINO
  182. default y
  183. help
  184. Use built-in tables for Banias CPUs if ACPI encoding
  185. is not available.
  186. If in doubt, say N.
  187. config X86_SPEEDSTEP_ICH
  188. tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
  189. depends on X86_32
  190. help
  191. This adds the CPUFreq driver for certain mobile Intel Pentium III
  192. (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
  193. mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
  194. ICH3 or ICH4 southbridge.
  195. For details, take a look at <file:Documentation/cpu-freq/>.
  196. If in doubt, say N.
  197. config X86_SPEEDSTEP_SMI
  198. tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
  199. depends on X86_32
  200. help
  201. This adds the CPUFreq driver for certain mobile Intel Pentium III
  202. (Coppermine), all mobile Intel Pentium III-M (Tualatin)
  203. on systems which have an Intel 440BX/ZX/MX southbridge.
  204. For details, take a look at <file:Documentation/cpu-freq/>.
  205. If in doubt, say N.
  206. config X86_P4_CLOCKMOD
  207. tristate "Intel Pentium 4 clock modulation"
  208. help
  209. This adds the CPUFreq driver for Intel Pentium 4 / XEON
  210. processors. When enabled it will lower CPU temperature by skipping
  211. clocks.
  212. This driver should be only used in exceptional
  213. circumstances when very low power is needed because it causes severe
  214. slowdowns and noticeable latencies. Normally Speedstep should be used
  215. instead.
  216. To compile this driver as a module, choose M here: the
  217. module will be called p4-clockmod.
  218. For details, take a look at <file:Documentation/cpu-freq/>.
  219. Unless you are absolutely sure say N.
  220. config X86_CPUFREQ_NFORCE2
  221. tristate "nVidia nForce2 FSB changing"
  222. depends on X86_32
  223. help
  224. This adds the CPUFreq driver for FSB changing on nVidia nForce2
  225. platforms.
  226. For details, take a look at <file:Documentation/cpu-freq/>.
  227. If in doubt, say N.
  228. config X86_LONGRUN
  229. tristate "Transmeta LongRun"
  230. depends on X86_32
  231. help
  232. This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
  233. which support LongRun.
  234. For details, take a look at <file:Documentation/cpu-freq/>.
  235. If in doubt, say N.
  236. config X86_LONGHAUL
  237. tristate "VIA Cyrix III Longhaul"
  238. depends on X86_32 && ACPI_PROCESSOR
  239. help
  240. This adds the CPUFreq driver for VIA Samuel/CyrixIII,
  241. VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
  242. processors.
  243. For details, take a look at <file:Documentation/cpu-freq/>.
  244. If in doubt, say N.
  245. config X86_E_POWERSAVER
  246. tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
  247. depends on X86_32 && ACPI_PROCESSOR
  248. help
  249. This adds the CPUFreq driver for VIA C7 processors. However, this driver
  250. does not have any safeguards to prevent operating the CPU out of spec
  251. and is thus considered dangerous. Please use the regular ACPI cpufreq
  252. driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
  253. If in doubt, say N.
  254. comment "shared options"
  255. config X86_SPEEDSTEP_LIB
  256. tristate
  257. default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
  258. config X86_SPEEDSTEP_RELAXED_CAP_CHECK
  259. bool "Relaxed speedstep capability checks"
  260. depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
  261. help
  262. Don't perform all checks for a speedstep capable system which would
  263. normally be done. Some ancient or strange systems, though speedstep
  264. capable, don't always indicate that they are speedstep capable. This
  265. option lets the probing code bypass some of those checks if the
  266. parameter "relaxed_check=1" is passed to the module.