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