AMD/ATI PowerPlay-Support in radeon(ati) or radeonHD?

Bridgman, John John.Bridgman at amd.com
Thu Apr 3 12:18:24 PDT 2008


From: "Vedran Rodic" <vrodic at gmail.com>

>>But the documentation is lacking: We only have a list of registers
without really knowing which ones we can touch, and we also don't know
any details of how they work together, on what versions of hardware etc.

Agreed. We are starting to collect that information internally but it
seems to be the most complex area of the chip so far (not in terms of
register count but in terms of information required to properly use the
hardware). 

We are still treating R6xx 3D as the highest priority, but to the extent
we are able to easily find and organize power management information we
will do that in parallel with 6xx 3D work. The problem is that so far
nothing related to power management seems to be easy.

>>I have a rv670, and I just assumed that the rv620 documentation
applies for it too. I wanted to be able to control the clock (to
downclock the GPU since I've noticed that Windows does that and that my
GPU cooler is a lot less warmer in Windows). But it's really hard to
understand clock and power management registers just by a brief list and
a really insufficient explanations on the rightmost column.

I think there is an AtomBIOS call for setting GPU engine clock --
probably best to start there. 

>>I've tried setting the GLOBAL_PWRMGT_EN bit in GENERAL_PWRMGT register
(while turning off STATIC_PM_EN bit because it seemed logical), and I
got flying animated garbage as a result. On the other hand, I've enabled
DYNAMIC_GFX_ISLAND_POWER_DOWN and DYNAMIC_GFX_ISLAND_LP in
SCLK_PWRMGT_CNTL without any readily visible side effects.

>>To monitor the temperature,  my only choice is to reboot to Windows
and measure there (since I don't have an infrared thermometer) hoping
that I will still see the temperature difference in time. I don't know
what temperature sensor chip the card has, how is it connected on the
card, and even if I knew, I'd probably had to write a I2C bus driver for
the card before I start monitoring the temperature.

The initial information I am getting back is that this varies from one
board/laptop to the next. I am trying to find out which parts of our
software/firmware stack actually read this information. Presumably we
have some kind of table in there describing the hardware configurations,
although strictly speaking this information belongs to our customers and
not to AMD. It's a bit like the tuner board situation, where most of the
IP is not ours to release. 

>>And I2C is also complex. There is around 33 I2C registers (okay I
guess I can ignore the DDC ones), but still it's hard to write a i2c
driver without some more detailed explanation of the registers.

Again I believe there are AtomBIOS calls for this, although we haven't
tried them for talking to temp sensors and fan control. 

>>It's really not hard to admire the people that have the will to write
the drivers using this documentation only, so kudos to you guys, you're
our heroes!

Seconded ;)




More information about the xorg mailing list