I have added code to radeonhd to fetch reasonable chip limits from
AtomBIOS - as this is scarcely documented, I'm not entirely sure
everything is right, though.
So please test latest git master, and check whether the values in the
log printed at
(II) RADEONHD(0): Power management: Raw Ranges
and
(II) RADEONHD(0): Power management: Valdiated Ranges
look reasonable.
There is no behavioral change at the moment, but this is a start.
CU
Matthias
--
Matthias Hopf
(--) PCI:*(0:1:0:0) 1002:9586:174b:0028 ATI Technologies Inc RV 630 XT AGP [Radeon HD 2600 XT AGP] rev 0, Mem @ 0xe0000000/268435456, 0xf9000000/65536, I/O @ 0x00009000/256, BIOS @ 0x????????/131072 (II) RADEONHD: version 1.2.5, built from git branch master, commit eed4bed6 (II) RADEONHD(0): Power Management: used engine clock / memory clock / core (VDDC) voltage (II) RADEONHD(0): Power Management: Raw Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): Default 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): Power Management: Validated Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): Default 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Power Management: Final Levels (II) RADEONHD(0): Off 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Idle 400000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Slow2D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Fast2D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Slow3D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Fast3D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Max3D 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): User 800000 kHz / 700000 kHz / 0.000 V -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 23, 09 15:40:01 +0400, John Doe wrote:
(II) RADEONHD(0): Power Management: Validated Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): Default 800000 kHz / 700000 kHz / 0.000 V
Looks pretty good - I've updated the validation process again, but this
shouldn't change anything in this case.
Matthias
--
Matthias Hopf
On Wed, Jul 22, 2009 at 6:48 PM, Matthias Hopf
I have added code to radeonhd to fetch reasonable chip limits from AtomBIOS - as this is scarcely documented, I'm not entirely sure everything is right, though.
So please test latest git master, and check whether the values in the log printed at (II) RADEONHD(0): Power management: Raw Ranges and (II) RADEONHD(0): Power management: Valdiated Ranges look reasonable.
git current on a HD4870 (RV770) reports: FirmwareInfo Revision 0104 Unused attribute: ul3DAccelerationEngineClock 0 Unused attribute: ulDriverTargetEngineClock 0 Unused attribute: ulDriverTargetMemoryClock 0 Unused attribute: ucASICMaxTemperature 0 Scary bits: Estimated MinEngineClock 250000 kHz Scary bits: Estimated MinMemoryClock 250000 kHz Default Engine Clock: 750000 Default Memory Clock: 900000 Current Engine Clock: 750000 Current Memory Clock: 900000 Current Chip Voltage: 0 Power Management: used engine clock / memory clock / core (VDDC) voltage (0: ignore) Power Management: Raw Ranges Minimum 250000 kHz / 250000 kHz / 1.083 V Maximum 850000 kHz / 1200000 kHz / 1.263 V Default 750000 kHz / 900000 kHz / 1.263 V PowerPlayInfo Revision 0401 Power Management: Validated Ranges Minimum 200000 kHz / 250000 kHz / 1.083 V Maximum 850000 kHz / 1200000 kHz / 1.263 V Default 750000 kHz / 900000 kHz / 1.263 V Power Management: Known Good Configurations 1 750000 kHz / 900000 kHz / 1.263 V 2 500000 kHz / 900000 kHz / 1.263 V 3 500000 kHz / 900000 kHz / 1.263 V 4 750000 kHz / 900000 kHz / 1.263 V 5 750000 kHz / 900000 kHz / 1.263 V 6 750000 kHz / 900000 kHz / 1.263 V 7 750000 kHz / 900000 kHz / 1.263 V 8 500000 kHz / 900000 kHz / 1.263 V 9 500000 kHz / 900000 kHz / 1.263 V 10 750000 kHz / 900000 kHz / 1.263 V 11 200000 kHz / 500000 kHz / 1.083 V 12 200000 kHz / 500000 kHz / 1.083 V ForceLowPowerMode: calculated engine clock at 375000kHz ForceLowPowerMode: calculated memory clock at 450000kHz Power Management: Final Levels Off 200000 kHz / 250000 kHz / 1.083 V Idle 375000 kHz / 450000 kHz / 1.263 V Slow2D 750000 kHz / 900000 kHz / 1.263 V Fast2D 750000 kHz / 900000 kHz / 1.263 V Slow3D 750000 kHz / 900000 kHz / 1.263 V Fast3D 750000 kHz / 900000 kHz / 1.263 V Max3D 850000 kHz / 1200000 kHz / 1.263 V User 750000 kHz / 900000 kHz / 1.263 V FYI I never saw the "Idle" level under windows; the driver seems to do only 750MHz/900MHz and 850MHz/1.2GHz Luca -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 23, 09 19:34:20 +0200, Luca Tettamanti wrote:
Power Management: Validated Ranges Minimum 200000 kHz / 250000 kHz / 1.083 V Maximum 850000 kHz / 1200000 kHz / 1.263 V Default 750000 kHz / 900000 kHz / 1.263 V
Looking good :)
Idle 375000 kHz / 450000 kHz / 1.263 V FYI I never saw the "Idle" level under windows; the driver seems to do only 750MHz/900MHz and 850MHz/1.2GHz
The "Idle" setting is the original one, which heuristically just halves
the default setting :-P
This remains to be changed.
Thanks
Matthias
--
Matthias Hopf
RV 630 XT AGP [Radeon HD 2600 XT AGP] (II) RADEONHD: version 1.2.5, built from git branch master, commit eabbde4e (II) RADEONHD(0): FirmwareInfo Revision 0104 (II) RADEONHD(0): Unused attribute: ul3DAccelerationEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetMemoryClock 0 (II) RADEONHD(0): Unused attribute: ucASICMaxTemperature 0 (II) RADEONHD(0): Scary bits: Estimated MinEngineClock 250000 kHz (II) RADEONHD(0): Scary bits: Estimated MinMemoryClock 250000 kHz (II) RADEONHD(0): Default Engine Clock: 800000 (II) RADEONHD(0): Default Memory Clock: 700000 (II) RADEONHD(0): Current Engine Clock: 796500 (II) RADEONHD(0): Current Memory Clock: 693000 (II) RADEONHD(0): Current Chip Voltage: 0 (II) RADEONHD(0): Power Management: used engine clock / memory clock / core (VDDC) voltage (0: ignore) (II) RADEONHD(0): Power Management: Raw Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): Default 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): PowerPlayInfo Revision 0401 (II) RADEONHD(0): Power Management: Validated Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): Default 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Power Management: Known Good Configurations (II) RADEONHD(0): 1 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 2 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 3 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 4 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 5 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 6 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): Power Management: Final Levels (II) RADEONHD(0): Off 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Idle 400000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Slow2D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Fast2D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Slow3D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Fast3D 800000 kHz / 700000 kHz / 0.000 V (II) RADEONHD(0): Max3D 880000 kHz / 800000 kHz / 0.000 V (II) RADEONHD(0): User 800000 kHz / 700000 kHz / 0.000 V -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
RS740 0x796E:0x1025:0x0155 (II) RADEONHD(0): FirmwareInfo Revision 0104 (II) RADEONHD(0): Unused attribute: ul3DAccelerationEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetMemoryClock 0 (II) RADEONHD(0): Unused attribute: ucASICMaxTemperature 0 (II) RADEONHD(0): Scary bits: Estimated MinEngineClock 250000 kHz (II) RADEONHD(0): Scary bits: Estimated MinMemoryClock 250000 kHz (II) RADEONHD(0): Default Engine Clock: 400000 (II) RADEONHD(0): Default Memory Clock: 200000 (II) RADEONHD(0): Current Engine Clock: 400000 (II) RADEONHD(0): Current Memory Clock: 2621440 (WW) RADEONHD(0): Unusupported SetVoltage Revision (II) RADEONHD(0): Power Management: used engine clock / memory clock / core (VDDC) voltage (0: ignore) (II) RADEONHD(0): Power Management: Raw Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.000 V (II) RADEONHD(0): Maximum 0 kHz / 0 kHz / 0.000 V (II) RADEONHD(0): Default 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): PowerPlayInfo Revision 0000 (EE) RADEONHD(0): Unusupported PowerPlayInfo Revision (II) RADEONHD(0): Query for Get Chip Configs: not implemented (EE) RADEONHD(0): Power Management: Cannot get known good chip configurations (II) RADEONHD(0): Power Management: Validated Ranges (II) RADEONHD(0): Minimum 250000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Maximum 400000 kHz / 2621440 kHz / 0.000 V (II) RADEONHD(0): Default 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Power Management: Final Levels (II) RADEONHD(0): Off 250000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Idle 200000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Slow2D 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Fast2D 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Slow3D 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Fast3D 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Max3D 400000 kHz / 2621440 kHz / 0.000 V (II) RADEONHD(0): User 400000 kHz / 200000 kHz / 0.000 V (II) RADEONHD(0): Attempting to enable clock gating (II) RADEONHD(0): Current Engine Clock: 400000 (II) RADEONHD(0): Current Memory Clock: 4126534666 (WW) RADEONHD(0): Unusupported SetVoltage Revision (EE) RADEONHD(0): MC not idle -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 23, 09 19:33:51 -0400, GS Hunt wrote:
(II) RADEONHD(0): Current Memory Clock: 2621440
This will still be printed, but the broken value will hopefully no longer be used. Unfortunately, it's difficult to really detect this situation, as the values from GET_MEMORY_CLOCK seems to fluctuate. BTW - I have concentrated on RV7xx and RV6xx for now - RS740 is not really supported yet (different PowerPlay tables).
(II) RADEONHD(0): PowerPlayInfo Revision 0000 (EE) RADEONHD(0): Unusupported PowerPlayInfo Revision
Uh, your AtomBIOS doesn't seem to have a PowerPlayInfo table at all. That must be a different mechanism. OTOH dynamic clock gating should already be active on pre-RV6xx chips (which the RS740 AFAIR is).
(II) RADEONHD(0): Maximum 400000 kHz / 2621440 kHz / 0.000 V
This is already fixed in my local git.
(EE) RADEONHD(0): MC not idle
:-( Still...
Matthias
--
Matthias Hopf
On Jul 23, 09 22:31:52 +0400, John Doe wrote:
(II) RADEONHD(0): Power Management: Known Good Configurations (II) RADEONHD(0): 1 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 2 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 3 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 4 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 5 800000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 6 800000 kHz / 700000 kHz / 1.200 V
Boh - the range of AtomBIOS quality ranges from several reasonable
configurations to being completely useless like in this case :-(((
Guess we will have to provide quirk tables here as well :-(
Matthias
--
Matthias Hopf
radeonhd decides to use reduced power for off and idle only. I've tested 168750 kHz / 400000 kHz / 1.200 V with two screens, HDMI and Xv - works without any corruptions. (II) RADEONHD(0): FirmwareInfo Revision 0104 (II) RADEONHD(0): Unused attribute: ul3DAccelerationEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetEngineClock 0 (II) RADEONHD(0): Unused attribute: ulDriverTargetMemoryClock 0 (II) RADEONHD(0): Unused attribute: ucASICMaxTemperature 0 (II) RADEONHD(0): Scary bits: Estimated MinEngineClock 250000 kHz (II) RADEONHD(0): Scary bits: Estimated MinMemoryClock 250000 kHz (II) RADEONHD(0): Default Engine Clock: 680000 (II) RADEONHD(0): Default Memory Clock: 800000 (II) RADEONHD(0): Current Engine Clock: 675000 (II) RADEONHD(0): Current Memory Clock: 792000 (II) RADEONHD(0): Current Chip Voltage: 0 (II) RADEONHD(0): Power Management: used engine clock / memory clock / core (VDDC) voltage (0: ignore) (II) RADEONHD(0): Power Management: Raw Ranges (II) RADEONHD(0): Minimum 250000 kHz / 250000 kHz / 0.950 V (II) RADEONHD(0): Maximum 0 kHz / 0 kHz / 1.200 V (II) RADEONHD(0): Default 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): PowerPlayInfo Revision 0401 (II) RADEONHD(0): Power Management: Validated Ranges (II) RADEONHD(0): Minimum 110000 kHz / 250000 kHz / 0.950 V (II) RADEONHD(0): Maximum 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Default 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Power Management: Known Good Configurations (II) RADEONHD(0): 1 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): 2 110000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 3 300000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 4 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): 5 110000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 6 110000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 7 300000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 8 300000 kHz / 400000 kHz / 1.200 V (II) RADEONHD(0): 9 550000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 10 550000 kHz / 700000 kHz / 1.200 V (II) RADEONHD(0): 11 300000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): 12 300000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): 13 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): 14 300000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): 15 300000 kHz / 405000 kHz / 0.950 V (II) RADEONHD(0): ForceLowPowerMode: forced engine clock at 168750kHz (II) RADEONHD(0): ForceLowPowerMode: calculated memory clock at 400000kHz (II) RADEONHD(0): Power Management: Final Levels (II) RADEONHD(0): Off 110000 kHz / 250000 kHz / 0.950 V (II) RADEONHD(0): Idle 168750 kHz / 400000 kHz / 1.200 V (II) RADEONHD(0): Slow2D 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Fast2D 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Slow3D 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Fast3D 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): Max3D 680000 kHz / 800000 kHz / 1.200 V (II) RADEONHD(0): User 680000 kHz / 800000 kHz / 1.200 V -- Rafał Miłecki -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 24, 09 08:52:58 +0200, Rafał Miłecki wrote:
radeonhd decides to use reduced power for off and idle only.
I've tested 168750 kHz / 400000 kHz / 1.200 V with two screens, HDMI and Xv - works without any corruptions.
Your chip indicates that it would work with 110000 kHz. If you feel
lucky, you can try that :-)
Matthias
--
Matthias Hopf
W dniu 24 lipca 2009 15:38 użytkownik Matthias Hopf
On Jul 24, 09 08:52:58 +0200, Rafał Miłecki wrote:
radeonhd decides to use reduced power for off and idle only.
I've tested 168750 kHz / 400000 kHz / 1.200 V with two screens, HDMI and Xv - works without any corruptions.
Your chip indicates that it would work with 110000 kHz. If you feel lucky, you can try that :-)
I will, but issue with not reduced modes (except off/idle) remains. What about that? -- Rafał Miłecki -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 24, 09 18:27:00 +0200, Rafał Miłecki wrote:
W dniu 24 lipca 2009 15:38 użytkownik Matthias Hopf
napisał: On Jul 24, 09 08:52:58 +0200, Rafał Miłecki wrote:
radeonhd decides to use reduced power for off and idle only.
I've tested 168750 kHz / 400000 kHz / 1.200 V with two screens, HDMI and Xv - works without any corruptions.
Your chip indicates that it would work with 110000 kHz. If you feel lucky, you can try that :-)
I will, but issue with not reduced modes (except off/idle) remains. What about that?
Well, that part isn't coded up yet. ATM only(!) the "idle" state is
used, and only if ForceLowPowerMode is set.
So ATM you can test 110000 kHz by setting ForceLowerPowerMode to yes and
LowPowerModeEngineClock to 110000.
CU
Matthias
--
Matthias Hopf
participants (5)
-
GS Hunt
-
John Doe
-
Luca Tettamanti
-
Matthias Hopf
-
Rafał Miłecki