So, a little feedback:
Got Lenovo Ideapad U330 here with Radeon 3450 and Intel 4500MHD. I'm running a kernel build form today's drm-radeon-testing (which AFAIK has the above patches included) on current Arch Linux with KDE 4.4.
My state table is:
Code:
[drm] Clocks initialized !
[drm] 6 Power State(s)
[drm] State 0 (default)
[drm] 16 PCIE Lanes
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 500000/700000
[drm] 1 engine/memory: 500000/700000
[drm] 2 engine/memory: 500000/700000
[drm] State 1 Performance
[drm] 16 PCIE Lanes
[drm] Single display only
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 110000/396000
[drm] 1 engine/memory: 300000/396000
[drm] 2 engine/memory: 500000/700000
[drm] State 2 Battery
[drm] 16 PCIE Lanes
[drm] Single display only
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 110000/396000
[drm] 1 engine/memory: 110000/396000
[drm] 2 engine/memory: 300000/396000
[drm] State 3
[drm] 16 PCIE Lanes
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 300000/400000
[drm] 1 engine/memory: 550000/700000
[drm] 2 engine/memory: 550000/700000
[drm] State 4 Performance
[drm] 16 PCIE Lanes
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 337000/700000
[drm] 1 engine/memory: 337000/700000
[drm] 2 engine/memory: 500000/700000
[drm] State 5 Battery
[drm] 16 PCIE Lanes
[drm] 3 Clock Mode(s)
[drm] 0 engine/memory: 300000/396000
[drm] 1 engine/memory: 300000/396000
[drm] 2 engine/memory: 300000/396000
Observations:
By default the state is initialized to 1.0. This gives a massive reduction of 5W measured by powertop (23W vs 18W on idle system).
Unfortunately state 1.0 (and state 2.0) causes Kwin effects (like slide or present windows) work horribly horribly slow, same thing with scrolling in Firefox. After switching to anything that has a level 0 clock of more than 110MHz (like state 5.0) all is silky smooth.
Multi monitor setup. If running states 1.0 or 2.0 it causes vertical lines on the external HDMI display. When switching to any other state the disappear.
I'm also getting
Code:
[drm] GUI not idle!!!
I thought it was a problem with older systems. Is 3450 considered old? 
Thoughts, wishes, questions:
1. Is it possible to modify the power state table so that states 1.0 and 2.0 have a but higher clock thatn 110MHz (so that KWin works smoothly) or is set in hardware?
2. Would it be possible for radeon to monitor ACPI events _in_kernel_ and switch modes accordingly and differentiating between non-multi and multi monitor setups? I mean it wouldn't be hard to do it in userspace, but it would be a lot of scripting 
3. Could the messages printed in dmesg be a little bit more descriptory with a possibility of turning them off via module parameter?
I mean dmesg is littered with messages as vogue as:
Code:
[drm] Setting: e: 11000
Overall, GREAT WORK GUYS!