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