radeon kms power management

So I’ve spend the last few days banging the radeon kms power management code into shape.  Things are coming together nicely.  Engine and memory re-clocking is working nicely and… drum-roll please, hwmon drivers can now be loaded for the i2c thermal chips used on many boards to provide fan control and temperature information!  Many thanks to Rafał Miłecki for doing the initial push and working hard to get the infrastructure in place and to Matthew Garrett for adding the code to load the hwmon drivers.  Hopefully I can get the internal fan/themal controller used on some r6xx/r7xx chips sorted out soon.

So, what’s done?
- engine reclocking
- memory reclocking
- pcie lane adjustments
- i2c thermal/fan chip loading

What’s left to do?
- voltage adjustments
- fine tuning the re-clocking algo
- tie in with AC/battery state
- possible user interface
- interface to access hwmon drivers from the radeon drm*

You can get the latest code against Dave’s drm-radeon-testing branch here:

To enable power management load the radeon module with dynpm=1

* NOTE: Before you go turning your fans off, the hwmon drivers do not provide an interface for another driver (like radeon) to access the thermal and fan information. As such, if you turn off the fan or mess with the thermal thresholds, you can potentially overheat your chip. YOU’VE BEEN WARNED.

2 Responses to “radeon kms power management”

  1. Louise Says:

    That’s so cool!!! Have you tried to measure the power consumption difference when used?

  2. biff.tannen Says:

    Will dynpm=1 be made the default, eventually.