* [r600g] ATI Radeon HD6950, dual monitor and power profile
@ 2011-12-20 18:38 Harald Judt
2011-12-20 20:20 ` Adam Jackson
0 siblings, 1 reply; 5+ messages in thread
From: Harald Judt @ 2011-12-20 18:38 UTC (permalink / raw)
To: dri-devel
Hi,
When using more than one monitor, the card uses higher clocks than in
single-monitor mode and low-power profile. As a subjectively negative
side-effect, the fan on the card starts making more noise. Other cards I
used before had no problem with staying quiet even when more monitors
were attached.
As soon as I switch back to single-monitor mode, clocks go down and the
card becomes silent again.
Is there a way to manually force lower clock speeds, and therefore reach
an acceptable noise level? Maybe make it use the same power profile
settings in dual-monitor as in single-monitor?
Dual-monitor mode:
~ $ cat /sys/class/drm/card0/device/power_profile
low
~ $ 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
voltage: 1060 mV
Single-monitor mode:
~ $ cat /sys/class/drm/card0/device/power_profile
low
~ $ 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
voltage: 900 mV
Regards,
Harald
--
`Experience is the best teacher.'
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [r600g] ATI Radeon HD6950, dual monitor and power profile
2011-12-20 18:38 [r600g] ATI Radeon HD6950, dual monitor and power profile Harald Judt
@ 2011-12-20 20:20 ` Adam Jackson
2011-12-20 21:19 ` Harald Judt
0 siblings, 1 reply; 5+ messages in thread
From: Adam Jackson @ 2011-12-20 20:20 UTC (permalink / raw)
To: Harald Judt; +Cc: dri-devel
On 12/20/11 1:38 PM, Harald Judt wrote:
> Hi,
>
> When using more than one monitor, the card uses higher clocks than in
> single-monitor mode and low-power profile. As a subjectively negative
> side-effect, the fan on the card starts making more noise. Other cards I
> used before had no problem with staying quiet even when more monitors
> were attached.
>
> As soon as I switch back to single-monitor mode, clocks go down and the
> card becomes silent again.
>
> Is there a way to manually force lower clock speeds, and therefore reach
> an acceptable noise level? Maybe make it use the same power profile
> settings in dual-monitor as in single-monitor?
It really depends on what kind of power profiles the device exposes.
Boot with drm.debug=0x2 and they'll be in dmesg.
- ajax
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [r600g] ATI Radeon HD6950, dual monitor and power profile
2011-12-20 20:20 ` Adam Jackson
@ 2011-12-20 21:19 ` Harald Judt
2011-12-20 21:50 ` Alex Deucher
0 siblings, 1 reply; 5+ messages in thread
From: Harald Judt @ 2011-12-20 21:19 UTC (permalink / raw)
To: dri-devel
Am 20.12.2011 21:20, schrieb Adam Jackson:
> On 12/20/11 1:38 PM, Harald Judt wrote:
>> Hi,
>>
>> When using more than one monitor, the card uses higher clocks than in
>> single-monitor mode and low-power profile. As a subjectively negative
>> side-effect, the fan on the card starts making more noise. Other cards I
>> used before had no problem with staying quiet even when more monitors
>> were attached.
>>
>> As soon as I switch back to single-monitor mode, clocks go down and the
>> card becomes silent again.
>>
>> Is there a way to manually force lower clock speeds, and therefore reach
>> an acceptable noise level? Maybe make it use the same power profile
>> settings in dual-monitor as in single-monitor?
>
> It really depends on what kind of power profiles the device exposes.
> Boot with drm.debug=0x2 and they'll be in dmesg.
>
> - ajax
Here we go:
[drm] Initialized drm 1.1.0 20060810
[drm] radeon defaulting to kernel modesetting.
[drm] radeon kernel modesetting enabled.
radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
radeon 0000:01:00.0: setting latency timer to 64
[drm] initializing kernel modesetting (CAYMAN 0x1002:0x6719 0x1002:0x0B00).
[drm] register mmio base: 0xFE620000
[drm] register mmio size: 131072
ATOM BIOS: CAYMAN
radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF
(2048M used)
radeon 0000:01:00.0: GTT: 512M 0x0000000080000000 - 0x000000009FFFFFFF
mtrr: type mismatch for c0000000,10000000 old: write-back new:
write-combining
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] RAM width 256bits DDR
[TTM] Zone kernel: Available graphics memory: 8209192 kiB.
[TTM] Zone dma32: Available graphics memory: 2097152 kiB.
[TTM] Initializing pool allocator.
[drm] radeon: 2048M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready.
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] Driver supports precise vblank timestamp query.
radeon 0000:01:00.0: irq 54 for MSI/MSI-X
radeon 0000:01:00.0: radeon: using MSI.
[drm] radeon: irq initialized.
[drm] GART: num cpu pages 131072, num gpu pages 131072
[drm] Loading CAYMAN Microcode
[drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
radeon 0000:01:00.0: WB enabled
[drm] ring test succeeded in 3 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] DisplayPort
[drm] HPD5
[drm] DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[drm] Encoders:
[drm] DFP1: INTERNAL_UNIPHY2
[drm] Connector 1:
[drm] DisplayPort
[drm] HPD4
[drm] DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[drm] Encoders:
[drm] DFP2: INTERNAL_UNIPHY2
[drm] Connector 2:
[drm] HDMI-A
[drm] HPD6
[drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[drm] Encoders:
[drm] DFP3: INTERNAL_UNIPHY1
[drm] Connector 3:
[drm] DVI-D
[drm] HPD1
[drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[drm] Encoders:
[drm] DFP4: INTERNAL_UNIPHY1
[drm] Connector 4:
[drm] DVI-I
[drm] HPD3
[drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
[drm] Encoders:
[drm] DFP5: INTERNAL_UNIPHY
[drm] CRT1: INTERNAL_KLDSCP_DAC1
[drm] Internal thermal controller with fan control
[drm:radeon_pm_print_states], 4 Power State(s)
[drm:radeon_pm_print_states], State 0: Default
[drm:radeon_pm_print_states], Default
[drm:radeon_pm_print_states], 16 PCIE Lanes
[drm:radeon_pm_print_states], 3 Clock Mode(s)
[drm:radeon_pm_print_states], 0 e: 800000 m: 1250000 v: 1060 No
display only
[drm:radeon_pm_print_states], 1 e: 800000 m: 1250000 v: 1060
[drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v: 1060
[drm:radeon_pm_print_states], State 1: Performance
[drm:radeon_pm_print_states], 16 PCIE Lanes
[drm:radeon_pm_print_states], 3 Clock Mode(s)
[drm:radeon_pm_print_states], 0 e: 250000 m: 150000 v: 900 No display only
[drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v: 1000
[drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v: 1060
[drm:radeon_pm_print_states], State 2: Default
[drm:radeon_pm_print_states], 16 PCIE Lanes
[drm:radeon_pm_print_states], 3 Clock Mode(s)
[drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v: 1000 No
display only
[drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v: 1000
[drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v: 1060
[drm:radeon_pm_print_states], State 3: Default
[drm:radeon_pm_print_states], 16 PCIE Lanes
[drm:radeon_pm_print_states], 3 Clock Mode(s)
[drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v: 1000 No
display only
[drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v: 1000
[drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v: 1060
[drm] radeon: power management initialized
[drm] fb mappable at 0xC0142000
[drm] vram apper at 0xC0000000
[drm] size 8294400
[drm] fb depth is 24
[drm] pitch is 7680
fbcon: radeondrmfb (fb0) is primary device
[drm:radeon_set_power_state], Setting: e: 80000
[drm:radeon_set_power_state], Setting: m: 125000
Console: switching to colour frame buffer device 240x67
fb0: radeondrmfb frame buffer device
drm: registered panic notifier
[drm] Initialized radeon 2.12.0 20080528 for 0000:01:00.0 on minor 0
There are three Default and one Performance State. How can they be
related to the /sys profile entry? Further, how are the ones for
multi-display configuration chosen?
BTW: I guess there is a typo somewhere in the drm debug code? Evidently,
the last 0 is missing here:
[drm:radeon_set_power_state], Setting: e: 80000
[drm:radeon_set_power_state], Setting: m: 125000
Regards,
Harald
--
`Experience is the best teacher.'
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [r600g] ATI Radeon HD6950, dual monitor and power profile
2011-12-20 21:19 ` Harald Judt
@ 2011-12-20 21:50 ` Alex Deucher
2011-12-21 0:21 ` Harald Judt
0 siblings, 1 reply; 5+ messages in thread
From: Alex Deucher @ 2011-12-20 21:50 UTC (permalink / raw)
To: Harald Judt; +Cc: dri-devel
On Tue, Dec 20, 2011 at 4:19 PM, Harald Judt <h.judt@gmx.at> wrote:
> Am 20.12.2011 21:20, schrieb Adam Jackson:
>>
>> On 12/20/11 1:38 PM, Harald Judt wrote:
>>>
>>> Hi,
>>>
>>> When using more than one monitor, the card uses higher clocks than in
>>> single-monitor mode and low-power profile. As a subjectively negative
>>> side-effect, the fan on the card starts making more noise. Other cards I
>>> used before had no problem with staying quiet even when more monitors
>>> were attached.
>>>
>>> As soon as I switch back to single-monitor mode, clocks go down and the
>>> card becomes silent again.
>>>
>>> Is there a way to manually force lower clock speeds, and therefore reach
>>> an acceptable noise level? Maybe make it use the same power profile
>>> settings in dual-monitor as in single-monitor?
>>
>>
>> It really depends on what kind of power profiles the device exposes.
>> Boot with drm.debug=0x2 and they'll be in dmesg.
>>
>> - ajax
>
>
> Here we go:
>
> [drm] Initialized drm 1.1.0 20060810
> [drm] radeon defaulting to kernel modesetting.
> [drm] radeon kernel modesetting enabled.
> radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> radeon 0000:01:00.0: setting latency timer to 64
> [drm] initializing kernel modesetting (CAYMAN 0x1002:0x6719 0x1002:0x0B00).
> [drm] register mmio base: 0xFE620000
> [drm] register mmio size: 131072
> ATOM BIOS: CAYMAN
> radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF
> (2048M used)
> radeon 0000:01:00.0: GTT: 512M 0x0000000080000000 - 0x000000009FFFFFFF
> mtrr: type mismatch for c0000000,10000000 old: write-back new:
> write-combining
> [drm] Detected VRAM RAM=2048M, BAR=256M
> [drm] RAM width 256bits DDR
> [TTM] Zone kernel: Available graphics memory: 8209192 kiB.
> [TTM] Zone dma32: Available graphics memory: 2097152 kiB.
> [TTM] Initializing pool allocator.
> [drm] radeon: 2048M of VRAM memory ready
> [drm] radeon: 512M of GTT memory ready.
> [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [drm] Driver supports precise vblank timestamp query.
> radeon 0000:01:00.0: irq 54 for MSI/MSI-X
> radeon 0000:01:00.0: radeon: using MSI.
> [drm] radeon: irq initialized.
> [drm] GART: num cpu pages 131072, num gpu pages 131072
> [drm] Loading CAYMAN Microcode
> [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
> radeon 0000:01:00.0: WB enabled
> [drm] ring test succeeded in 3 usecs
> [drm] radeon: ib pool ready.
> [drm] ib test succeeded in 0 usecs
> [drm] Radeon Display Connectors
> [drm] Connector 0:
> [drm] DisplayPort
> [drm] HPD5
> [drm] DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
> [drm] Encoders:
> [drm] DFP1: INTERNAL_UNIPHY2
> [drm] Connector 1:
> [drm] DisplayPort
> [drm] HPD4
> [drm] DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
> [drm] Encoders:
> [drm] DFP2: INTERNAL_UNIPHY2
> [drm] Connector 2:
> [drm] HDMI-A
> [drm] HPD6
> [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
> [drm] Encoders:
> [drm] DFP3: INTERNAL_UNIPHY1
> [drm] Connector 3:
> [drm] DVI-D
> [drm] HPD1
> [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
> [drm] Encoders:
> [drm] DFP4: INTERNAL_UNIPHY1
> [drm] Connector 4:
> [drm] DVI-I
> [drm] HPD3
> [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
> [drm] Encoders:
> [drm] DFP5: INTERNAL_UNIPHY
> [drm] CRT1: INTERNAL_KLDSCP_DAC1
> [drm] Internal thermal controller with fan control
> [drm:radeon_pm_print_states], 4 Power State(s)
> [drm:radeon_pm_print_states], State 0: Default
> [drm:radeon_pm_print_states], Default
> [drm:radeon_pm_print_states], 16 PCIE Lanes
> [drm:radeon_pm_print_states], 3 Clock Mode(s)
> [drm:radeon_pm_print_states], 0 e: 800000 m: 1250000 v:
> 1060 No display only
> [drm:radeon_pm_print_states], 1 e: 800000 m: 1250000 v:
> 1060
> [drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v:
> 1060
This first state is the default/boot state.
> [drm:radeon_pm_print_states], State 1: Performance
> [drm:radeon_pm_print_states], 16 PCIE Lanes
> [drm:radeon_pm_print_states], 3 Clock Mode(s)
> [drm:radeon_pm_print_states], 0 e: 250000 m: 150000 v:
> 900 No display only
> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
> 1000
> [drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v:
> 1060
This is the single head performance state.
> [drm:radeon_pm_print_states], State 2: Default
> [drm:radeon_pm_print_states], 16 PCIE Lanes
> [drm:radeon_pm_print_states], 3 Clock Mode(s)
> [drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v:
> 1000 No display only
> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
> 1000
> [drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v:
> 1060
> [drm:radeon_pm_print_states], State 3: Default
> [drm:radeon_pm_print_states], 16 PCIE Lanes
> [drm:radeon_pm_print_states], 3 Clock Mode(s)
> [drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v:
> 1000 No display only
> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
> 1000
> [drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v:
> 1060
These last two are most likely special video playback states.
> [drm] radeon: power management initialized
> [drm] fb mappable at 0xC0142000
> [drm] vram apper at 0xC0000000
> [drm] size 8294400
> [drm] fb depth is 24
> [drm] pitch is 7680
> fbcon: radeondrmfb (fb0) is primary device
> [drm:radeon_set_power_state], Setting: e: 80000
> [drm:radeon_set_power_state], Setting: m: 125000
> Console: switching to colour frame buffer device 240x67
> fb0: radeondrmfb frame buffer device
> drm: registered panic notifier
> [drm] Initialized radeon 2.12.0 20080528 for 0000:01:00.0 on minor 0
>
> There are three Default and one Performance State. How can they be related
> to the /sys profile entry? Further, how are the ones for multi-display
> configuration chosen?
There's only 1 default state. The code to print out the tables says
"default" by default if there is no other attribute set. Most cards
have two performance states: one for multi-head and one for single
head. Since there is no multi-head power state, the driver uses the
default profile for multi-head. On systems like this it might be
better to use the last profile for multi-head.
>
> BTW: I guess there is a typo somewhere in the drm debug code? Evidently, the
> last 0 is missing here:
> [drm:radeon_set_power_state], Setting: e: 80000
> [drm:radeon_set_power_state], Setting: m: 125000
The driver stores clocks in 10 khz units.
>
> Regards,
> Harald
>
> --
> `Experience is the best teacher.'
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [r600g] ATI Radeon HD6950, dual monitor and power profile
2011-12-20 21:50 ` Alex Deucher
@ 2011-12-21 0:21 ` Harald Judt
0 siblings, 0 replies; 5+ messages in thread
From: Harald Judt @ 2011-12-21 0:21 UTC (permalink / raw)
To: Alex Deucher; +Cc: dri-devel
Am 20.12.2011 22:50, schrieb Alex Deucher:
[...]
>> [drm:radeon_pm_print_states], 4 Power State(s)
>> [drm:radeon_pm_print_states], State 0: Default
>> [drm:radeon_pm_print_states], Default
>> [drm:radeon_pm_print_states], 16 PCIE Lanes
>> [drm:radeon_pm_print_states], 3 Clock Mode(s)
>> [drm:radeon_pm_print_states], 0 e: 800000 m: 1250000 v:
>> 1060 No display only
>> [drm:radeon_pm_print_states], 1 e: 800000 m: 1250000 v:
>> 1060
>> [drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v:
>> 1060
>
> This first state is the default/boot state.
>
>> [drm:radeon_pm_print_states], State 1: Performance
>> [drm:radeon_pm_print_states], 16 PCIE Lanes
>> [drm:radeon_pm_print_states], 3 Clock Mode(s)
>> [drm:radeon_pm_print_states], 0 e: 250000 m: 150000 v:
>> 900 No display only
>> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
>> 1000
>> [drm:radeon_pm_print_states], 2 e: 800000 m: 1250000 v:
>> 1060
>
> This is the single head performance state.
>
>> [drm:radeon_pm_print_states], State 2: Default
>> [drm:radeon_pm_print_states], 16 PCIE Lanes
>> [drm:radeon_pm_print_states], 3 Clock Mode(s)
>> [drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v:
>> 1000 No display only
>> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
>> 1000
>> [drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v:
>> 1060
>> [drm:radeon_pm_print_states], State 3: Default
>> [drm:radeon_pm_print_states], 16 PCIE Lanes
>> [drm:radeon_pm_print_states], 3 Clock Mode(s)
>> [drm:radeon_pm_print_states], 0 e: 500000 m: 1250000 v:
>> 1000 No display only
>> [drm:radeon_pm_print_states], 1 e: 500000 m: 1250000 v:
>> 1000
>> [drm:radeon_pm_print_states], 2 e: 725000 m: 1250000 v:
>> 1060
>
> These last two are most likely special video playback states.
>
>> [drm] radeon: power management initialized
>> [drm] fb mappable at 0xC0142000
>> [drm] vram apper at 0xC0000000
>> [drm] size 8294400
>> [drm] fb depth is 24
>> [drm] pitch is 7680
>> fbcon: radeondrmfb (fb0) is primary device
>> [drm:radeon_set_power_state], Setting: e: 80000
>> [drm:radeon_set_power_state], Setting: m: 125000
>> Console: switching to colour frame buffer device 240x67
>> fb0: radeondrmfb frame buffer device
>> drm: registered panic notifier
>> [drm] Initialized radeon 2.12.0 20080528 for 0000:01:00.0 on minor 0
>>
>> There are three Default and one Performance State. How can they be related
>> to the /sys profile entry? Further, how are the ones for multi-display
>> configuration chosen?
>
> There's only 1 default state. The code to print out the tables says
> "default" by default if there is no other attribute set. Most cards
> have two performance states: one for multi-head and one for single
> head. Since there is no multi-head power state, the driver uses the
> default profile for multi-head.
IIRC, the ATI fglrx driver seems to use the same strategy as r600.
Needless to say that I'm not very fond of this strategy. I didn't check
what state the windows driver chooses, but I would be surprised if it
does something different.
> On systems like this it might be better to use the last profile for
> multi-head.
Ok, for now I changed radeon_pm.c to always use the single-head profile
for low and mid. However, selecting the last profile as you suggested
would not help in my case, as it is the same as single-profile mid and
causes the fan to spin up to definitely audible levels.
I did not notice any performance difference between low and mid for
usual desktop work with desktop fx enabled. The card seems to be able to
handle two monitors in single-head low power profile just fine. This
might change when you connect more than two monitors.
>> BTW: I guess there is a typo somewhere in the drm debug code? Evidently, the
>> last 0 is missing here:
>> [drm:radeon_set_power_state], Setting: e: 80000
>> [drm:radeon_set_power_state], Setting: m: 125000
>
> The driver stores clocks in 10 khz units.
Thanks for clarification.
Harald
--
`Experience is the best teacher.'
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-12-21 0:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-20 18:38 [r600g] ATI Radeon HD6950, dual monitor and power profile Harald Judt
2011-12-20 20:20 ` Adam Jackson
2011-12-20 21:19 ` Harald Judt
2011-12-20 21:50 ` Alex Deucher
2011-12-21 0:21 ` Harald Judt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.