2. AMD CPU Driver

Following CPU drivers are used by the Linux kernel for frequency scaling for AMD CPUs.

2.1. acpi-cpufreq

  • Supports all AMD CPUs.

  • This is the default driver that is used if newer drivers are not supported.

  • This driver exposes only 3 P-states for moderate power savings.

2.2. amd-pstate

  • For AMD Zen 2 and newer CPUs.

  • This driver exposes more P-states than acpi_cpufreq for better power savings.

  • This driver has 3 modes - active, passive, and guided.

  • active mode is same as amd-pstate-epp mentioned below.

2.3. amd-pstate-epp

  • Requires Linux kernel 6.3 or newer.

  • This driver is used by default by Linux kernel 6.5 or newer on supported hardware.

  • This driver allows the CPU to select the operating frequencies autonomously within the hardware limits. This is a fully-autonomous mode that requires manual configuration and CPPC support in both the CPU and BIOS.

  • Only 2 governors are available - powersave and performance. These are translated to a Energy Performance Preference (EPP) hint for the CPU’s internal governor.

Note

For kernels older than 6.5 amd-pstate must be activated via a kernel boot option

References:

  1. https://linrunner.de/tlp/settings/processor.html

  2. https://wiki.archlinux.org/title/CPU_frequency_scaling

  3. https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html