1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2bb0a56ecSDave Jones# 3bb0a56ecSDave Jones# x86 CPU Frequency scaling drivers 4bb0a56ecSDave Jones# 5bb0a56ecSDave Jones 693f0822dSDirk Brandewieconfig X86_INTEL_PSTATE 7da0d9fdaSDirk Brandewie bool "Intel P state control" 893f0822dSDirk Brandewie depends on X86 99522a2ffSSrinivas Pandruvada select ACPI_PROCESSOR if ACPI 10de966cf4STim Chen select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO 11a00ec387SRafael J. Wysocki select CPU_FREQ_GOV_PERFORMANCE 12a00ec387SRafael J. Wysocki select CPU_FREQ_GOV_SCHEDUTIL if SMP 1393f0822dSDirk Brandewie help 1493f0822dSDirk Brandewie This driver provides a P state for Intel core processors. 1593f0822dSDirk Brandewie The driver implements an internal governor and will become 1693f0822dSDirk Brandewie the scaling driver and governor for Sandy bridge processors. 1793f0822dSDirk Brandewie 18735dc249SStratos Karafotis When this driver is enabled it will become the preferred 1993f0822dSDirk Brandewie scaling driver for Sandy bridge processors. 2093f0822dSDirk Brandewie 2193f0822dSDirk Brandewie If in doubt, say N. 2293f0822dSDirk Brandewie 23bb0a56ecSDave Jonesconfig X86_PCC_CPUFREQ 24bb0a56ecSDave Jones tristate "Processor Clocking Control interface driver" 25bb0a56ecSDave Jones depends on ACPI && ACPI_PROCESSOR 26bb0a56ecSDave Jones help 27bb0a56ecSDave Jones This driver adds support for the PCC interface. 28bb0a56ecSDave Jones 29bb0a56ecSDave Jones For details, take a look at: 30c3419b71SMauro Carvalho Chehab <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>. 31bb0a56ecSDave Jones 32bb0a56ecSDave Jones To compile this driver as a module, choose M here: the 33bb0a56ecSDave Jones module will be called pcc-cpufreq. 34bb0a56ecSDave Jones 35bb0a56ecSDave Jones If in doubt, say N. 36bb0a56ecSDave Jones 37ec437d71SHuang Ruiconfig X86_AMD_PSTATE 38456ca88dSPerry Yuan bool "AMD Processor P-State driver" 39a2e6840bSHuang Rui depends on X86 && ACPI 40a2e6840bSHuang Rui select ACPI_PROCESSOR 41a2e6840bSHuang Rui select ACPI_CPPC_LIB if X86_64 42ec437d71SHuang Rui select CPU_FREQ_GOV_SCHEDUTIL if SMP 43ec437d71SHuang Rui help 44ec437d71SHuang Rui This driver adds a CPUFreq driver which utilizes a fine grain 45ec437d71SHuang Rui processor performance frequency control range instead of legacy 46ec437d71SHuang Rui performance levels. _CPC needs to be present in the ACPI tables 47ec437d71SHuang Rui of the system. 48ec437d71SHuang Rui 49ec437d71SHuang Rui For details, take a look at: 50ec437d71SHuang Rui <file:Documentation/admin-guide/pm/amd-pstate.rst>. 51ec437d71SHuang Rui 52ec437d71SHuang Rui If in doubt, say N. 53ec437d71SHuang Rui 54*c88ad30eSMario Limoncielloconfig X86_AMD_PSTATE_DEFAULT_MODE 55*c88ad30eSMario Limonciello int "AMD Processor P-State default mode" 56*c88ad30eSMario Limonciello depends on X86_AMD_PSTATE 57*c88ad30eSMario Limonciello default 3 if X86_AMD_PSTATE 58*c88ad30eSMario Limonciello range 1 4 59*c88ad30eSMario Limonciello help 60*c88ad30eSMario Limonciello Select the default mode the amd-pstate driver will use on 61*c88ad30eSMario Limonciello supported hardware. 62*c88ad30eSMario Limonciello The value set has the following meanings: 63*c88ad30eSMario Limonciello 1 -> Disabled 64*c88ad30eSMario Limonciello 2 -> Passive 65*c88ad30eSMario Limonciello 3 -> Active (EPP) 66*c88ad30eSMario Limonciello 4 -> Guided 67*c88ad30eSMario Limonciello 68*c88ad30eSMario Limonciello For details, take a look at: 69*c88ad30eSMario Limonciello <file:Documentation/admin-guide/pm/amd-pstate.rst>. 70*c88ad30eSMario Limonciello 7114eb1c96SMeng Liconfig X86_AMD_PSTATE_UT 7214eb1c96SMeng Li tristate "selftest for AMD Processor P-State driver" 7314eb1c96SMeng Li depends on X86 && ACPI_PROCESSOR 7414eb1c96SMeng Li default n 7514eb1c96SMeng Li help 7614eb1c96SMeng Li This kernel module is used for testing. It's safe to say M here. 7714eb1c96SMeng Li 78bf6430f8SMeng Li It can also be built-in without X86_AMD_PSTATE enabled. 79bf6430f8SMeng Li Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE 80bf6430f8SMeng Li is set disabled, it can tell the users test can only run on amd-pstate 81bf6430f8SMeng Li driver, please set X86_AMD_PSTATE enabled. 82bf6430f8SMeng Li In the future, comparison tests will be added. It can set amd-pstate 83bf6430f8SMeng Li disabled and set acpi-cpufreq enabled to run test cases, then compare 84bf6430f8SMeng Li the test results. 85bf6430f8SMeng Li 86bb0a56ecSDave Jonesconfig X86_ACPI_CPUFREQ 87bb0a56ecSDave Jones tristate "ACPI Processor P-States driver" 88bb0a56ecSDave Jones depends on ACPI_PROCESSOR 89bb0a56ecSDave Jones help 90bb0a56ecSDave Jones This driver adds a CPUFreq driver which utilizes the ACPI 91bb0a56ecSDave Jones Processor Performance States. 923dc9a633SMatthew Garrett This driver also supports Intel Enhanced Speedstep and newer 933dc9a633SMatthew Garrett AMD CPUs. 94bb0a56ecSDave Jones 95bb0a56ecSDave Jones To compile this driver as a module, choose M here: the 96bb0a56ecSDave Jones module will be called acpi-cpufreq. 97bb0a56ecSDave Jones 98bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 99bb0a56ecSDave Jones 100bb0a56ecSDave Jones If in doubt, say N. 101bb0a56ecSDave Jones 10211269ff5SAndre Przywaraconfig X86_ACPI_CPUFREQ_CPB 10311269ff5SAndre Przywara default y 10411269ff5SAndre Przywara bool "Legacy cpb sysfs knob support for AMD CPUs" 10511269ff5SAndre Przywara depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD 10611269ff5SAndre Przywara help 10711269ff5SAndre Przywara The powernow-k8 driver used to provide a sysfs knob called "cpb" 10811269ff5SAndre Przywara to disable the Core Performance Boosting feature of AMD CPUs. This 109735dc249SStratos Karafotis file has now been superseded by the more generic "boost" entry. 11011269ff5SAndre Przywara 11111269ff5SAndre Przywara By enabling this option the acpi_cpufreq driver provides the old 11211269ff5SAndre Przywara entry in addition to the new boost ones, for compatibility reasons. 11311269ff5SAndre Przywara 114bb0a56ecSDave Jonesconfig ELAN_CPUFREQ 115bb0a56ecSDave Jones tristate "AMD Elan SC400 and SC410" 11601628188SLinus Torvalds depends on MELAN 117a7f7f624SMasahiro Yamada help 118bb0a56ecSDave Jones This adds the CPUFreq driver for AMD Elan SC400 and SC410 119bb0a56ecSDave Jones processors. 120bb0a56ecSDave Jones 121bb0a56ecSDave Jones You need to specify the processor maximum speed as boot 122bb0a56ecSDave Jones parameter: elanfreq=maxspeed (in kHz) or as module 123bb0a56ecSDave Jones parameter "max_freq". 124bb0a56ecSDave Jones 125bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 126bb0a56ecSDave Jones 127bb0a56ecSDave Jones If in doubt, say N. 128bb0a56ecSDave Jones 129bb0a56ecSDave Jonesconfig SC520_CPUFREQ 130bb0a56ecSDave Jones tristate "AMD Elan SC520" 13101628188SLinus Torvalds depends on MELAN 132a7f7f624SMasahiro Yamada help 133bb0a56ecSDave Jones This adds the CPUFreq driver for AMD Elan SC520 processor. 134bb0a56ecSDave Jones 135bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 136bb0a56ecSDave Jones 137bb0a56ecSDave Jones If in doubt, say N. 138bb0a56ecSDave Jones 139bb0a56ecSDave Jones 140bb0a56ecSDave Jonesconfig X86_POWERNOW_K6 141bb0a56ecSDave Jones tristate "AMD Mobile K6-2/K6-3 PowerNow!" 142bb0a56ecSDave Jones depends on X86_32 143bb0a56ecSDave Jones help 144bb0a56ecSDave Jones This adds the CPUFreq driver for mobile AMD K6-2+ and mobile 145bb0a56ecSDave Jones AMD K6-3+ processors. 146bb0a56ecSDave Jones 147bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 148bb0a56ecSDave Jones 149bb0a56ecSDave Jones If in doubt, say N. 150bb0a56ecSDave Jones 151bb0a56ecSDave Jonesconfig X86_POWERNOW_K7 152bb0a56ecSDave Jones tristate "AMD Mobile Athlon/Duron PowerNow!" 153bb0a56ecSDave Jones depends on X86_32 154bb0a56ecSDave Jones help 155bb0a56ecSDave Jones This adds the CPUFreq driver for mobile AMD K7 mobile processors. 156bb0a56ecSDave Jones 157bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 158bb0a56ecSDave Jones 159bb0a56ecSDave Jones If in doubt, say N. 160bb0a56ecSDave Jones 161bb0a56ecSDave Jonesconfig X86_POWERNOW_K7_ACPI 162bb0a56ecSDave Jones bool 163bb0a56ecSDave Jones depends on X86_POWERNOW_K7 && ACPI_PROCESSOR 164bb0a56ecSDave Jones depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m) 165bb0a56ecSDave Jones depends on X86_32 166bb0a56ecSDave Jones default y 167bb0a56ecSDave Jones 168bb0a56ecSDave Jonesconfig X86_POWERNOW_K8 169bb0a56ecSDave Jones tristate "AMD Opteron/Athlon64 PowerNow!" 170631e8ac1SBorislav Petkov depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ 171bb0a56ecSDave Jones help 172034be8fdSAndre Przywara This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors. 173034be8fdSAndre Przywara Support for K10 and newer processors is now in acpi-cpufreq. 174bb0a56ecSDave Jones 175bb0a56ecSDave Jones To compile this driver as a module, choose M here: the 176bb0a56ecSDave Jones module will be called powernow-k8. 177bb0a56ecSDave Jones 178bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 179bb0a56ecSDave Jones 1809c5320c8SJacob Shinconfig X86_AMD_FREQ_SENSITIVITY 1819c5320c8SJacob Shin tristate "AMD frequency sensitivity feedback powersave bias" 1829c5320c8SJacob Shin depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD 1839c5320c8SJacob Shin help 1849c5320c8SJacob Shin This adds AMD-specific powersave bias function to the ondemand 1859c5320c8SJacob Shin governor, which allows it to make more power-conscious frequency 1868c88126bSMasanari Iida change decisions based on feedback from hardware (available on AMD 1879c5320c8SJacob Shin Family 16h and above). 1889c5320c8SJacob Shin 1899c5320c8SJacob Shin Hardware feedback tells software how "sensitive" to frequency changes 1909c5320c8SJacob Shin the CPUs' workloads are. CPU-bound workloads will be more sensitive 1919c5320c8SJacob Shin -- they will perform better as frequency increases. Memory/IO-bound 1929c5320c8SJacob Shin workloads will be less sensitive -- they will not necessarily perform 1939c5320c8SJacob Shin better as frequency increases. 1949c5320c8SJacob Shin 1959c5320c8SJacob Shin If in doubt, say N. 1969c5320c8SJacob Shin 197bb0a56ecSDave Jonesconfig X86_GX_SUSPMOD 198bb0a56ecSDave Jones tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation" 199bb0a56ecSDave Jones depends on X86_32 && PCI 200bb0a56ecSDave Jones help 201bb0a56ecSDave Jones This add the CPUFreq driver for NatSemi Geode processors which 202bb0a56ecSDave Jones support suspend modulation. 203bb0a56ecSDave Jones 204bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 205bb0a56ecSDave Jones 206bb0a56ecSDave Jones If in doubt, say N. 207bb0a56ecSDave Jones 208bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_CENTRINO 209bb0a56ecSDave Jones tristate "Intel Enhanced SpeedStep (deprecated)" 210bb0a56ecSDave Jones select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32 211bb0a56ecSDave Jones depends on X86_32 || (X86_64 && ACPI_PROCESSOR) 212bb0a56ecSDave Jones help 213bb0a56ecSDave Jones This is deprecated and this functionality is now merged into 214bb0a56ecSDave Jones acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of 215bb0a56ecSDave Jones speedstep_centrino. 216bb0a56ecSDave Jones This adds the CPUFreq driver for Enhanced SpeedStep enabled 217bb0a56ecSDave Jones mobile CPUs. This means Intel Pentium M (Centrino) CPUs 218bb0a56ecSDave Jones or 64bit enabled Intel Xeons. 219bb0a56ecSDave Jones 220bb0a56ecSDave Jones To compile this driver as a module, choose M here: the 221bb0a56ecSDave Jones module will be called speedstep-centrino. 222bb0a56ecSDave Jones 223bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 224bb0a56ecSDave Jones 225bb0a56ecSDave Jones If in doubt, say N. 226bb0a56ecSDave Jones 227bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_CENTRINO_TABLE 228bb0a56ecSDave Jones bool "Built-in tables for Banias CPUs" 229bb0a56ecSDave Jones depends on X86_32 && X86_SPEEDSTEP_CENTRINO 230bb0a56ecSDave Jones default y 231bb0a56ecSDave Jones help 232bb0a56ecSDave Jones Use built-in tables for Banias CPUs if ACPI encoding 233bb0a56ecSDave Jones is not available. 234bb0a56ecSDave Jones 235bb0a56ecSDave Jones If in doubt, say N. 236bb0a56ecSDave Jones 237bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_ICH 238bb0a56ecSDave Jones tristate "Intel Speedstep on ICH-M chipsets (ioport interface)" 239bb0a56ecSDave Jones depends on X86_32 240bb0a56ecSDave Jones help 241bb0a56ecSDave Jones This adds the CPUFreq driver for certain mobile Intel Pentium III 242bb0a56ecSDave Jones (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all 243bb0a56ecSDave Jones mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2, 244bb0a56ecSDave Jones ICH3 or ICH4 southbridge. 245bb0a56ecSDave Jones 246bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 247bb0a56ecSDave Jones 248bb0a56ecSDave Jones If in doubt, say N. 249bb0a56ecSDave Jones 250bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_SMI 251bb0a56ecSDave Jones tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)" 2520f194b56SKees Cook depends on X86_32 253bb0a56ecSDave Jones help 254bb0a56ecSDave Jones This adds the CPUFreq driver for certain mobile Intel Pentium III 255bb0a56ecSDave Jones (Coppermine), all mobile Intel Pentium III-M (Tualatin) 256bb0a56ecSDave Jones on systems which have an Intel 440BX/ZX/MX southbridge. 257bb0a56ecSDave Jones 258bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 259bb0a56ecSDave Jones 260bb0a56ecSDave Jones If in doubt, say N. 261bb0a56ecSDave Jones 262bb0a56ecSDave Jonesconfig X86_P4_CLOCKMOD 263bb0a56ecSDave Jones tristate "Intel Pentium 4 clock modulation" 264bb0a56ecSDave Jones help 265bb0a56ecSDave Jones This adds the CPUFreq driver for Intel Pentium 4 / XEON 266bb0a56ecSDave Jones processors. When enabled it will lower CPU temperature by skipping 267bb0a56ecSDave Jones clocks. 268bb0a56ecSDave Jones 269bb0a56ecSDave Jones This driver should be only used in exceptional 270bb0a56ecSDave Jones circumstances when very low power is needed because it causes severe 271bb0a56ecSDave Jones slowdowns and noticeable latencies. Normally Speedstep should be used 272bb0a56ecSDave Jones instead. 273bb0a56ecSDave Jones 274bb0a56ecSDave Jones To compile this driver as a module, choose M here: the 275bb0a56ecSDave Jones module will be called p4-clockmod. 276bb0a56ecSDave Jones 277bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 278bb0a56ecSDave Jones 279bb0a56ecSDave Jones Unless you are absolutely sure say N. 280bb0a56ecSDave Jones 281bb0a56ecSDave Jonesconfig X86_CPUFREQ_NFORCE2 282bb0a56ecSDave Jones tristate "nVidia nForce2 FSB changing" 2830f194b56SKees Cook depends on X86_32 284bb0a56ecSDave Jones help 285bb0a56ecSDave Jones This adds the CPUFreq driver for FSB changing on nVidia nForce2 286bb0a56ecSDave Jones platforms. 287bb0a56ecSDave Jones 288bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 289bb0a56ecSDave Jones 290bb0a56ecSDave Jones If in doubt, say N. 291bb0a56ecSDave Jones 292bb0a56ecSDave Jonesconfig X86_LONGRUN 293bb0a56ecSDave Jones tristate "Transmeta LongRun" 294bb0a56ecSDave Jones depends on X86_32 295bb0a56ecSDave Jones help 296bb0a56ecSDave Jones This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors 297bb0a56ecSDave Jones which support LongRun. 298bb0a56ecSDave Jones 299bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 300bb0a56ecSDave Jones 301bb0a56ecSDave Jones If in doubt, say N. 302bb0a56ecSDave Jones 303bb0a56ecSDave Jonesconfig X86_LONGHAUL 304bb0a56ecSDave Jones tristate "VIA Cyrix III Longhaul" 305bb0a56ecSDave Jones depends on X86_32 && ACPI_PROCESSOR 306bb0a56ecSDave Jones help 307bb0a56ecSDave Jones This adds the CPUFreq driver for VIA Samuel/CyrixIII, 308bb0a56ecSDave Jones VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T 309bb0a56ecSDave Jones processors. 310bb0a56ecSDave Jones 311bb0a56ecSDave Jones For details, take a look at <file:Documentation/cpu-freq/>. 312bb0a56ecSDave Jones 313bb0a56ecSDave Jones If in doubt, say N. 314bb0a56ecSDave Jones 315bb0a56ecSDave Jonesconfig X86_E_POWERSAVER 316bb0a56ecSDave Jones tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)" 317b5f14720SRafał Bilski depends on X86_32 && ACPI_PROCESSOR 318bb0a56ecSDave Jones help 319bb0a56ecSDave Jones This adds the CPUFreq driver for VIA C7 processors. However, this driver 320bb0a56ecSDave Jones does not have any safeguards to prevent operating the CPU out of spec 321bb0a56ecSDave Jones and is thus considered dangerous. Please use the regular ACPI cpufreq 322bb0a56ecSDave Jones driver, enabled by CONFIG_X86_ACPI_CPUFREQ. 323bb0a56ecSDave Jones 324bb0a56ecSDave Jones If in doubt, say N. 325bb0a56ecSDave Jones 326bb0a56ecSDave Jonescomment "shared options" 327bb0a56ecSDave Jones 328bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_LIB 329bb0a56ecSDave Jones tristate 330bb0a56ecSDave Jones default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD) 331bb0a56ecSDave Jones 332bb0a56ecSDave Jonesconfig X86_SPEEDSTEP_RELAXED_CAP_CHECK 333bb0a56ecSDave Jones bool "Relaxed speedstep capability checks" 334bb0a56ecSDave Jones depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH) 335bb0a56ecSDave Jones help 336bb0a56ecSDave Jones Don't perform all checks for a speedstep capable system which would 337bb0a56ecSDave Jones normally be done. Some ancient or strange systems, though speedstep 338bb0a56ecSDave Jones capable, don't always indicate that they are speedstep capable. This 339bb0a56ecSDave Jones option lets the probing code bypass some of those checks if the 340bb0a56ecSDave Jones parameter "relaxed_check=1" is passed to the module. 341bb0a56ecSDave Jones 342