The last time we talked about the open-source ATI power management support was a month ago when we shared that the in-kernel Radeon support started to utilize the I2C support
and provided GUI idle IRQ support, support for changing the GPU clocks when the engine is idle, and support for turning down the number of active SIMDS when running in a lower power stage for the ATI R600 ASICs and later. Days later the initial thermal monitoring support came about
along with other Radeon DRM changes. This month we now have more reliable memory re-clocking support.
Over the weekend AMD's Alex Deucher put out updated power management patches (in this patch directory
) and then Red Hat's Matthew Garrett expanded on the work.
In a new blog post
, Matthew Garrett elaborates on the complications of Radeon re-clocking with needing to ensure the GPU / command processor is idle, no memory is being scanned out to the screen, that the CPU isn't writing to the video memory, and last but not least that TTM
isn't attempting to add/remove/modify any memory objects.
Fortunately all of that is taken care of, and the Radeon power management / re-clocking support is working rather reliably. With Matthew's hardware he's experience a savings of 30 Watts. This is before any of the open-source developers are even dealing with voltage adjustment, so there's still more savings to be found.
Matthew Garrett also pointed out in that post that AMD's power management is more documented than what's available for Intel's hardware. Intel hasn't publicly documented their clock configuration registers and their open-source code covering this is apparently obfuscated.
Let's hope that this work is prepared to land with the Linux 2.6.35 kernel
in the coming months.