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