AMD is preparing the AOD driver for Linux users to change some power and current limits on Ryzen processors through the operating system. Three patches from AMD engineer Shyam Sundar S K to kernel developers explain the scope of the first release. The study is still in the review process. For this reason, it is not possible to talk about a feature that has come to all Linux versions distributed today.
AOD communicates via WMI with the overclocking interface in the Ryzen platform’s firmware. Ryzen Master on Windows also uses the same firmware interface. However, the patch package does not offer a Ryzen Master implementation for Linux. It is necessary to distinguish between the user interface and the driver in the kernel.
The first scope includes the processor’s PPT power limit and TDC and EDC current limits. PPT determines the power that the processor socket can draw. TDC defines the longer-term current capacity, and EDC defines the short-term peak current. The driver also reports the lowest and highest value supported by each setting, along with the change steps.
In addition, AOD allows changing the SMT setting and reading the current memory clock. The memory clock area is for reading purposes only, it does not offer memory overclocking control. The driver creates setting fields only when the firmware supports the relevant command. Therefore, there is no promise that the same options will appear on every Ryzen system.
AOD applies changes after reboot
The patch’s settings check doesn’t just look for a number to fall within range. The value must also comply with the change steps defined by the platform. If the firmware declares specific options for some commands rather than a continuous interval, the driver verifies accordingly. Thus, it does not accept an unsupported value as a normal setting. The description shows that compatibility depends on the commands offered by the platform as well as the processor name.
The patch code and interface documentation state that the changes are stored in the firmware. The system applies the new values at the next startup. So changing the limit during a running test does not act as a live setting that changes the result at that moment. Additionally, since the firmware does not report back active PPT, TDC and EDC values, these fields have write access only.
AMD also explains the difference between AOD and the current HSMP interface. AOD is changing the firmware option that will take effect after reboot. HSMP, on the other hand, interferes with the run time limit in the processor management unit and this change is lost on reboot. Although the two paths touch a similar power limit, their permanence and execution time are different.
The debug section of the package provides access to lower-level WMI commands. However, the developer clearly states that this section is not a stable application interface. The code also carries a warning that incorrect settings may cause instability or hardware damage. It is not yet clear in which end-user distribution and when the work will become the default.