With this new power management code, the xf86-video-radeonhd driver will attempt to read voltage and clock information from the AtomBIOS and then try to figure out the different combinations of voltages and frequencies that will work without leaving the card in a non-functioning state. There is code in place with the RadeonHD driver for controlling the engine clock, memory clock, and VDDC voltage, but right now it's just implemented for making engine clock adjustments.
Not only is it difficult to compute the combinations in which the clocks and voltages can run at in a stable manner, but then applying the changes is also difficult. In order to change the GPU clock, the GPU must first be idling. Similarly, there cannot be any GPU memory accesses performed when the memory clock is about to be changed. Additionally, everything must be idling when the voltage changes. As a result, this work is still far from complete and there is a lot of testing and verification work that needs to go on.
Meanwhile, work has been going into the competing xf86-video-ati driver for the past several months to down-clock the GPU, decrease the PCI Express bandwidth, and carry out other functions in order to conserve small amounts of power.
For those interested in the RadeonHD power management work that is going on, read this mailing list entry.