AMD PMF Cool & Quiet Framework Readied For Linux 6.1
AMD PMF aims to better adapt the thermal/power/performance characteristics of desktops and laptops similar to Intel's Dynamic Platform and Thermal Framework (DPTF) though some public details on AMD's Platform Management Framework are still limited. After AMD engineers got the initial PMF support ready and queued in the x86 platform driver's for-next branch, they turned their attention to the Cool and Quiet Framework portion of PMF. Yes, Cool 'n Quiet is also the branding AMD long used for their dynamic frequency scaling back to the Athlon XP days.
This AMD PMF CnQF portion is described by AMD's documentation as:
CnQF (a.k.a Cool and Quiet Framework) extends the static slider concept. PMF dynamically manages system power limits and fan policy based on system power trends which is representative of workload trend.
Static slider and CnQF controls are mutually exclusive for system power budget adjustments. CnQF supports configurable number of modes which can be unique for AC and DC. Every mode is representative of a system state characterized by unique steady state and boost behavior.
OEMs can configure the different modes/system states and how the transition to a mode happens. Whether to have CnQF manage system power budget dynamically in AC or DC or both is also configurable. Mode changes due to CnQF don't result in slider position change.
The default OEM values are obtained after evaluating the PMF ACPI function idx 11 & 12 for AC and DC respectively. Whether to turn ON/OFF by default is guided by a "flag" passed by the OEM BIOS.
The latest news is that CnQF support has worked its way as of last week into platform-drivers-x86.git's for-next branch, meaning it too will be included as part of the Linux 6.1 material. It includes the CnQF enablement code and a sysfs toggle if wanting to disable/enable CnQF to instead focus on the static behavior.
Linux 6.1 is shaping up to be a very busy Linux kernel cycle with the merge window expected to open up next week (unless 6.0 is dragged out, then delayed by one week) while the Linux 6.1 stable kernel won't be out until around the end of the calendar year.