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