| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # x86 CPU Frequency scaling drivers |
| # |
| |
| config X86_INTEL_PSTATE |
| bool "Intel P state control" |
| depends on X86 |
| select ACPI_PROCESSOR if ACPI |
| select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO |
| select CPU_FREQ_GOV_PERFORMANCE |
| select CPU_FREQ_GOV_SCHEDUTIL if SMP |
| help |
| This driver provides a P state for Intel core processors. |
| The driver implements an internal governor and will become |
| the scaling driver and governor for Sandy bridge processors. |
| |
| When this driver is enabled it will become the preferred |
| scaling driver for Sandy bridge processors. |
| |
| If in doubt, say N. |
| |
| config X86_PCC_CPUFREQ |
| tristate "Processor Clocking Control interface driver" |
| depends on ACPI && ACPI_PROCESSOR |
| help |
| This driver adds support for the PCC interface. |
| |
| For details, take a look at: |
| <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called pcc-cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_AMD_PSTATE |
| bool "AMD Processor P-State driver" |
| depends on X86 && ACPI |
| select ACPI_PROCESSOR |
| select ACPI_CPPC_LIB if X86_64 |
| select CPU_FREQ_GOV_SCHEDUTIL if SMP |
| help |
| This driver adds a CPUFreq driver which utilizes a fine grain |
| processor performance frequency control range instead of legacy |
| performance levels. _CPC needs to be present in the ACPI tables |
| of the system. |
| |
| For details, take a look at: |
| <file:Documentation/admin-guide/pm/amd-pstate.rst>. |
| |
| If in doubt, say N. |
| |
| config X86_AMD_PSTATE_DEFAULT_MODE |
| int "AMD Processor P-State default mode" |
| depends on X86_AMD_PSTATE |
| default 3 if X86_AMD_PSTATE |
| range 1 4 |
| help |
| Select the default mode the amd-pstate driver will use on |
| supported hardware. |
| The value set has the following meanings: |
| 1 -> Disabled |
| 2 -> Passive |
| 3 -> Active (EPP) |
| 4 -> Guided |
| |
| For details, take a look at: |
| <file:Documentation/admin-guide/pm/amd-pstate.rst>. |
| |
| config X86_AMD_PSTATE_UT |
| tristate "selftest for AMD Processor P-State driver" |
| depends on X86 && ACPI_PROCESSOR |
| depends on X86_AMD_PSTATE |
| default n |
| help |
| This kernel module is used for testing. It's safe to say M here. |
| |
| It can also be built-in without X86_AMD_PSTATE enabled. |
| Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE |
| is set disabled, it can tell the users test can only run on amd-pstate |
| driver, please set X86_AMD_PSTATE enabled. |
| In the future, comparison tests will be added. It can set amd-pstate |
| disabled and set acpi-cpufreq enabled to run test cases, then compare |
| the test results. |
| |
| config X86_ACPI_CPUFREQ |
| tristate "ACPI Processor P-States driver" |
| depends on ACPI_PROCESSOR |
| help |
| This driver adds a CPUFreq driver which utilizes the ACPI |
| Processor Performance States. |
| This driver also supports Intel Enhanced Speedstep and newer |
| AMD CPUs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called acpi-cpufreq. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_ACPI_CPUFREQ_CPB |
| default y |
| bool "Legacy cpb sysfs knob support for AMD CPUs" |
| depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD |
| help |
| The powernow-k8 driver used to provide a sysfs knob called "cpb" |
| to disable the Core Performance Boosting feature of AMD CPUs. This |
| file has now been superseded by the more generic "boost" entry. |
| |
| By enabling this option the acpi_cpufreq driver provides the old |
| entry in addition to the new boost ones, for compatibility reasons. |
| |
| config ELAN_CPUFREQ |
| tristate "AMD Elan SC400 and SC410" |
| depends on MELAN |
| help |
| This adds the CPUFreq driver for AMD Elan SC400 and SC410 |
| processors. |
| |
| You need to specify the processor maximum speed as boot |
| parameter: elanfreq=maxspeed (in kHz) or as module |
| parameter "max_freq". |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config SC520_CPUFREQ |
| tristate "AMD Elan SC520" |
| depends on MELAN |
| help |
| This adds the CPUFreq driver for AMD Elan SC520 processor. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| |
| config X86_POWERNOW_K6 |
| tristate "AMD Mobile K6-2/K6-3 PowerNow!" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for mobile AMD K6-2+ and mobile |
| AMD K6-3+ processors. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_POWERNOW_K7 |
| tristate "AMD Mobile Athlon/Duron PowerNow!" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for mobile AMD K7 mobile processors. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_POWERNOW_K7_ACPI |
| bool |
| depends on X86_POWERNOW_K7 && ACPI_PROCESSOR |
| depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m) |
| depends on X86_32 |
| default y |
| |
| config X86_POWERNOW_K8 |
| tristate "AMD Opteron/Athlon64 PowerNow!" |
| depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ |
| help |
| This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors. |
| Support for K10 and newer processors is now in acpi-cpufreq. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called powernow-k8. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| config X86_AMD_FREQ_SENSITIVITY |
| tristate "AMD frequency sensitivity feedback powersave bias" |
| depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD |
| help |
| This adds AMD-specific powersave bias function to the ondemand |
| governor, which allows it to make more power-conscious frequency |
| change decisions based on feedback from hardware (available on AMD |
| Family 16h and above). |
| |
| Hardware feedback tells software how "sensitive" to frequency changes |
| the CPUs' workloads are. CPU-bound workloads will be more sensitive |
| -- they will perform better as frequency increases. Memory/IO-bound |
| workloads will be less sensitive -- they will not necessarily perform |
| better as frequency increases. |
| |
| If in doubt, say N. |
| |
| config X86_GX_SUSPMOD |
| tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation" |
| depends on X86_32 && PCI |
| help |
| This add the CPUFreq driver for NatSemi Geode processors which |
| support suspend modulation. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_SPEEDSTEP_CENTRINO |
| tristate "Intel Enhanced SpeedStep (deprecated)" |
| select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32 |
| depends on X86_32 || (X86_64 && ACPI_PROCESSOR) |
| help |
| This is deprecated and this functionality is now merged into |
| acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of |
| speedstep_centrino. |
| This adds the CPUFreq driver for Enhanced SpeedStep enabled |
| mobile CPUs. This means Intel Pentium M (Centrino) CPUs |
| or 64bit enabled Intel Xeons. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called speedstep-centrino. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_SPEEDSTEP_CENTRINO_TABLE |
| bool "Built-in tables for Banias CPUs" |
| depends on X86_32 && X86_SPEEDSTEP_CENTRINO |
| default y |
| help |
| Use built-in tables for Banias CPUs if ACPI encoding |
| is not available. |
| |
| If in doubt, say N. |
| |
| config X86_SPEEDSTEP_ICH |
| tristate "Intel Speedstep on ICH-M chipsets (ioport interface)" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for certain mobile Intel Pentium III |
| (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all |
| mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2, |
| ICH3 or ICH4 southbridge. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_SPEEDSTEP_SMI |
| tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for certain mobile Intel Pentium III |
| (Coppermine), all mobile Intel Pentium III-M (Tualatin) |
| on systems which have an Intel 440BX/ZX/MX southbridge. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_P4_CLOCKMOD |
| tristate "Intel Pentium 4 clock modulation" |
| help |
| This adds the CPUFreq driver for Intel Pentium 4 / XEON |
| processors. When enabled it will lower CPU temperature by skipping |
| clocks. |
| |
| This driver should be only used in exceptional |
| circumstances when very low power is needed because it causes severe |
| slowdowns and noticeable latencies. Normally Speedstep should be used |
| instead. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called p4-clockmod. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| Unless you are absolutely sure say N. |
| |
| config X86_CPUFREQ_NFORCE2 |
| tristate "nVidia nForce2 FSB changing" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for FSB changing on nVidia nForce2 |
| platforms. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_LONGRUN |
| tristate "Transmeta LongRun" |
| depends on X86_32 |
| help |
| This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors |
| which support LongRun. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_LONGHAUL |
| tristate "VIA Cyrix III Longhaul" |
| depends on X86_32 && ACPI_PROCESSOR |
| help |
| This adds the CPUFreq driver for VIA Samuel/CyrixIII, |
| VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T |
| processors. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say N. |
| |
| config X86_E_POWERSAVER |
| tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)" |
| depends on X86_32 && ACPI_PROCESSOR |
| help |
| This adds the CPUFreq driver for VIA C7 processors. However, this driver |
| does not have any safeguards to prevent operating the CPU out of spec |
| and is thus considered dangerous. Please use the regular ACPI cpufreq |
| driver, enabled by CONFIG_X86_ACPI_CPUFREQ. |
| |
| If in doubt, say N. |
| |
| comment "shared options" |
| |
| config X86_SPEEDSTEP_LIB |
| tristate |
| default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD) |
| |
| config X86_SPEEDSTEP_RELAXED_CAP_CHECK |
| bool "Relaxed speedstep capability checks" |
| depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH) |
| help |
| Don't perform all checks for a speedstep capable system which would |
| normally be done. Some ancient or strange systems, though speedstep |
| capable, don't always indicate that they are speedstep capable. This |
| option lets the probing code bypass some of those checks if the |
| parameter "relaxed_check=1" is passed to the module. |
| |