AMDGPU's New SMU Code Gets More Additions Ahead Of Navi
Back in January was the surprise of AMD developers publishing a lot of new code to support a new SMU block of "future GPUs". That SMU code continues to be refined and another patch series sent out today fills in more functionality, exporting more system management unit information and controls to Linux user-space.
The code drop in January was 138 patches for wiring up the initial code to this new SMU block that will ultimately replace their existing PowerPlay code with future GPUs. With Vega 20 and the recently released Radeon VII, it's the last point where AMD is maintaining PowerPlay support by default but can optionally use this new code path if booted with amdgpu.dpm=1. This "swSMU" work appears to be the early steps around Navi changes.
While not as significant as January's code drop, these latest updates to the swSMU driver code for exporting more information/controls via sysfs and hwmon. Additionally, suspend/resume functionality is wired up. This work includes min/max fan speed limits for hwmon and reading the current fan speed, power capping support for SMU11, fan speed percent reading, a fan target speed interface, sysfs interfaces for the different clocks, the ability to override the PCI Express speed and link width, and other work. The AMDGPU driver has already supported these pieces of functionality for existing Radeon GPUs with its other PowerPlay code paths.
These patches under review can be found on amd-gfx. It's too late seeing this new work land in the upcoming Linux 5.1 cycle but is material to likely debut with Linux 5.2 later in the year. Hopefully we'll see more of the open-source Radeon Navi bring-up in the weeks ahead to ensure the mainline Linux support can get squared away prior to these next-generation GPUs shipping later in the year.