After the UVD code drop for providing open-source hardware-accelerated video support, the other feature many Radeon Linux users have been wanting (besides faster OpenGL performance) is dynamic power management. Right now there's only limited static power management and no dynamic re-clocking based upon load and other means. The Catalyst driver has supported dynamic power management via "PowerPlay" for years, but there's never been nice open-source GPU driver power management... Until today.
A big shocker this morning was loading my email and finding 165 patches from Alex Deucher for the Linux 3.11 kernel. With the 165 patches for Linux 3.11, there's Dynamic Power Management f or R600 (Radeon HD 2000) through SI (Radeon HD 7000) series hardware along with ASPM coverage for the same hardware. Beyond that, there's initial CIK (Sea Islands) support. The AMD Sea Islands support is for mode-setting, 3D, compute, and UVD. Damn!
AMD Sea Islands is the Radeon HD 8000 series using the GCN 2.0 architecture and is expected to launch in full in the second half of this year. It's nice to see there's now Radeon DRM driver support and the Mesa/Gallium3D patches will presumably land soon as well.
The dynamic power management going back to the R600 includes support for clockgating, dynamic engine clock scaling, dynamic memory clock scaling, dynamic voltage scaling, and dynamic PCI Express Gen1/Gen2 switching. While this support will be merged into the next Linux kernel release, for now it looks like the radeon.dpm=1 kernel command-line parameter must be set when booting the system (or loading the Radeon DRM module) for enabling this dynamic power management support.
Benchmarks of the power-savings thanks to dynamic power management (along with comparative Catalyst benchmarks) are forthcoming on Phoronix. I'm also still going over all of the patches so there may be additional updates to this article.
Until the Linux 3.11 merge window is open, the patches can for now be found on the dri-devel list.