AMD Graphics Driver In Linux 6.5 Improves Power Management, Adds CP Shadow Buffer

Written by Michael Larabel in Radeon on 3 June 2023 at 09:00 AM EDT. 17 Comments
RADEON
On Friday a big set of patches affecting the AMDGPU/Radeon/AMDKFD kernel drivers were submitted for DRM-Next to queue until the Linux 6.5 kernel merge window opens in the coming weeks. A lot of new feature code is part of this pull for benefiting new hardware, continuing to refine AMD GPU power management under Linux, and more.

Continuing to enhance the power management support on Linux, particularly around display-related features. For Linux 6.5 the AMDGPU DC code is enabling SubVP and FAMS support. FAMS is for Firmware Assisted Memory-clock Switching and was initially implemented for AMDGPU last year and now extended for newer DCN 3.1 IP. SubVP is for Sub-Viewport functionality that is now being enabled in more conditions. The Z8 residency handling has also been tuned for power-savings.

One of the new features for Linux 6.5 in AMDGPU is the command processor (CP) shadow buffer support. This is part of the firmware-assisted shadowing support for GFX11/RDNA3 hardware. This kernel functionality paired with new CP firmware is needed for mid-command-buffer preemption and proper SR-IOV support with new AMD GPUs. User-space drivers can further enjoy state retention across command submissions. Mid-Command Buffer Preemption (MCBP) allows the host to interrupt and preempt the execution of any hardware ring, such as when sharing the GPU between the host and a virtualized guest.

In user-space the RADV driver has been preparing for MCBP support as well as the RadeonSI driver.

AMD Radeon GPUs on Linux


On the new hardware front are improvements to DCN 3.2 display support, DCN 3.1.x fixes, VCN 3.x fixes, partitioning support for various IP blocks, and other IP blocks updated.

For helping with continuous integration (CI) and testing, the AMDGPU driver has added the new "DRM_AMDGPU_WERROR" Kconfig option. Enabling DRM_AMDGPU_WERROR will force the code compiler to throw an error instead of a warning when compiling this kernel module.

This week's AMDGPU changes also now include putting memory queue descriptors (MQDs) in vRAM for lowering preemption latency, taking NUMA into account during memory allocations, and AMDGPU DC floating point fixes for the LoongArch CPU architecture. The pull also adds NUMA-awareness to TTM memory management pools and NUMA for partitions with the AMDKFD compute kernel driver code. This pull request is heavy on fixes with a number of patches to address issues around code warnings, SR-IOV, DC GPU reset, scatter gather (S/G) display, GFXOFF, and S0ix fixes.

See this pull request for the full set of AMD kernel graphics driver feature patches for the week.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week