[r600g] ATI Radeon HD6950, dual monitor and power profile

Harald Judt h.judt at gmx.at
Tue Dec 20 16:21:32 PST 2011


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.'


More information about the dri-devel mailing list