Bug 42854

Summary: Power management doesn't work on dualhead
Product: xorg Reporter: Pēteris Caune <cuu508>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: nautsch2, pedram.navid
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Pēteris Caune 2011-11-12 08:49:30 UTC
Setting power_profile to low doesn't seem to have an effect with dual heads active. 

with single head active:

echo low > /sys/class/drm/card0/device/power_profile
cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 775000 kHz
current engine clock: 99990 kHz
default memory clock: 1000000 kHz
current memory clock: 300000 kHz
voltage: 950 mV

after enabling the second monitor:

cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 775000 kHz
current engine clock: 774980 kHz
default memory clock: 1000000 kHz
current memory clock: 1000000 kHz
voltage: 1150 mV

Disable one head and voltages drop down again...

Card: Radeon HD 6850
Fresh 32bit Fedora 16, it was the same previously on F15 too.
Comment 1 Alex Deucher 2011-11-12 09:01:00 UTC
Multi-head requires higher clocks and voltages to meet the power and bandwidth requirements or more than 1 head.
Comment 2 Pēteris Caune 2011-11-12 09:38:35 UTC
Thanks, I see. 
I'll just point out that fglrx somehow manages to run as cool and quiet in dualhead setup as radeon does with single head.
Comment 3 nautsch 2012-09-10 10:17:49 UTC
Hi.

I just found this bug and I wanted to add my 2 cents here and reopen it.

The Windows driver manages to stay underclocked in a dual head setup and so seems the fglrx driver (which somehow kills 2D performance and is therefore not an option).

I see, that this bug is almost a year old, but for me this is a real issue, which does not occur in a Windows environment. The fans ramp up due to the additional heat, and the clocks don't even drop a little, but stay at the default speed.

This has to be adressable in some way. I don't think, that a second head needs a 9 times higher frequency (and 15 degrees Celsius more) on both GPU and VRAM than one head does.

I am on an HD6870 with the following setup:

# xrandr 
Screen 0: minimum 320 x 200, current 4480 x 1440, maximum 16384 x 16384
DVI-0 connected 2560x1440+1920+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440      60.0*+
 --- snip ---
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1200+0+240 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
 --- snip ---

Both monitors are connected via DVI, which make the HDMI-0 name a little misleading.

These are the clocks on dual head:
# cat /sys/kernel/debug/dri/0/radeon_pm_info 
default engine clock: 915000 kHz
current engine clock: 914940 kHz
default memory clock: 1050000 kHz
current memory clock: 1050000 kHz
voltage: 1200 mV

and these on single head (just deactivated HDMI-0 with xrandr --output HDMI-0 --off):
# cat /sys/kernel/debug/dri/0/radeon_pm_info 
default engine clock: 915000 kHz
current engine clock: 99990 kHz
default memory clock: 1050000 kHz
current memory clock: 150000 kHz
voltage: 1200 mV

power_profile is set to "low" and power_method obviously to "profile". dynpm for power_method doesn't do anything here either.

I am on a 3.5 debian kernel:
# uname -a
Linux Buzz 3.5-trunk-amd64 #1 SMP Thu Aug 2 17:16:27 UTC 2012 x86_64 GNU/Linux

xorg version is the version from debian 1:7.7+1, so 7.7 and the accompanying drivers.

Sorry for raising such an old thread but as I said, I cannot imagine that this is actually impossible to fix.

If I can provide any additional information, I will happily do so.

Regards
  nautsch
Comment 4 pedram.navid 2012-11-07 22:45:27 UTC
I can confirm this issue as well. Latest 1.7 drivers. This is very clearly a bug. Dual output in Windows does not lead to maxing out the engine or memory clocks. There is no way simple 2d output requires the same amount of work from the GPU as graphics-intesive 3D games.

With two DVI outputs:
---------------------
cat /sys/kernel/debug/dri/0/radeon_pm_info 
default engine clock: 800000 kHz
current engine clock: 799940 kHz
default memory clock: 1250000 kHz
current memory clock: 1250000 kHz

cat  /sys/class/drm/card0/device/power_method 
profile

cat  /sys/class/drm/card0/device/power_profile 
low

sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +62.5 C  


With one DVI output
--------------------
cat /sys/kernel/debug/dri/0/radeon_pm_info 
default engine clock: 800000 kHz
current engine clock: 249990 kHz
default memory clock: 1250000 kHz
current memory clock: 150000 kHz

Adapter: PCI adapter
temp1:        +53.0 C  (less than 30 seconds after switching)
Adapter: PCI adapter
temp1:        +42.5 C  (stablized after a few mins)
Comment 5 pedram.navid 2012-11-08 13:33:23 UTC
I should add that using the proprietary ATI drivers on Linux, dual-head is cool and quiet as well
Comment 6 Anthony Waters 2013-01-01 02:34:57 UTC

*** This bug has been marked as a duplicate of bug 49981 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.