First let me say that all seems to be working as it probably should :-) , great work has been done, this post is just to clarify a few things for me to see if I have to remain on UMS or can switch to KMS.
I am on Arch Linux and have used the radeon GIT driver and UMS (KMS disabled) for quite some time now with power saving enabled, which contrary to the fglrx driver allowed me to have a second external monitor attached and still kept the GPU temperature at ~50C. With fglrx I couldn't activate a low power mode with two monitors attached, but had far better power saving when only using the laptops' internal display.
Yesterday I tried out KMS and it seems that radeon power saving works now as it did with the fglrx driver, meaning that I cannot activate a low power mode in a dual display setup, but have a good power saving mode with the laptops' internal display. Here is the output of dmesg | grep drm:
Code:
[drm] Initialized drm 1.1.0 20060810
[drm] radeon kernel modesetting enabled.
[drm] initializing kernel modesetting (RV380 0x1002:0x3150).
[drm] register mmio base: 0xC8800000
[drm] register mmio size: 65536
[drm] GPU reset succeed (RBBM_STATUS=0x00000140)
[drm] 2 Power State(s)
[drm] State 0 Battery 
[drm]   1 PCIE Lanes
[drm]   1 Clock Mode(s)
[drm]           0 engine/memory: 105000/120000
[drm] State 1 Default (default)
[drm]   16 PCIE Lanes
[drm]   1 Clock Mode(s)
[drm]           0 engine/memory: 400000/250000
[drm] radeon: dynamic power management enabled
[drm] radeon: power management initialized
[drm] Generation 2 PCI interface, using max accessible memory
[drm] radeon: using MSI.
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=128M, BAR=128M
[drm] RAM width 128bits DDR
[drm] radeon: 128M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready.
[drm] GART: num cpu pages 131072, num gpu pages 131072
[drm] radeon: 1 quad pipes, 1 Z pipes initialized.
[drm] PCIE GART of 512M enabled (table at 0xC0040000).
[drm] radeon: cp idle (0x10000C03)
[drm] Loading R300 Microcode
[drm] radeon: ring at 0x00000000A0000000
[drm] ring test succeeded in 1 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] DFP table revision: 4
[drm] Panel ID String: HTC                     
[drm] Panel Size 1680x1050
[drm] Default TV standard: NTSC
[drm] 27.000000000 MHz TV ref clk
[drm] Default TV standard: NTSC
[drm] 27.000000000 MHz TV ref clk
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm]   VGA
[drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[drm]   Encoders:
[drm]     CRT1: INTERNAL_DAC1
[drm] Connector 1:
[drm]   DVI-D
[drm]   HPD1
[drm]   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[drm]   Encoders:
[drm]     DFP1: INTERNAL_TMDS1
[drm] Connector 2:
[drm]   LVDS
[drm]   DDC: 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c
[drm]   Encoders:
[drm]     LCD1: INTERNAL_LVDS
[drm] Connector 3:
[drm]   S-video
[drm]   Encoders:
[drm]     TV1: INTERNAL_DAC2
[drm] Requested: e: 10500 m: 12000 p: 1
[drm] Setting: e: 10500 m: 12000 p: 1
[drm] fb mappable at 0xC00C0000
[drm] vram apper at 0xC0000000
[drm] size 7056000
[drm] fb depth is 24
[drm]    pitch is 6720
[drm] Requested: e: 40000 m: 25000 p: 16
[drm] Setting: e: 40000 m: 25000 p: 16
fb0: radeondrmfb frame buffer device
[drm] Initialized radeon 2.3.0 20080528 for 0000:01:00.0 on minor 0
[drm] Requested: e: 10500 m: 12000 p: 1
[drm] Setting: e: 10500 m: 12000 p: 1
[drm] Requested: e: 40000 m: 25000 p: 16
[drm] Setting: e: 40000 m: 25000 p: 16
[drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
[drm] Requested: e: 10500 m: 12000 p: 1
[drm] Setting: e: 10500 m: 12000 p: 1
[drm] Requested: e: 40000 m: 25000 p: 16
[drm] Setting: e: 40000 m: 25000 p: 16
The last lines show that the driver nicely switches to a low power mode when I deactivate the second display and back again to a high power mode when I turn it back on via xrandr.

My question is whether I can use a low power mode with KMS in a dual monitor setup with this GPU or if cannot.
Otherwise I will have to use grub and different kernels to make a mobile and a stationary setup for this (old) laptop. :-)
BTW, with UMS I have various glitches now regarding opengl acting up/artifacts, so there is a reason why I would want to change to KMS to see if I have these problems too with it. The laptop should still not get too warm and keep nicely silent with KMS.

Thanks for any help.