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