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