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