I also think it should mostly be handled in the driver.  About the
only knobs we may want to enable userspace to mess with are say 3
power modes: low power (battery mode), default, and maybe a high power
mode later on.  The high power mode may require thermal monitoring
support depending on the chip.  GPM (and whatever kde uses) or the
user can then change the mode on the fly in reaction to events like AC
-> DC, etc.; much like what is done for backlights now.

The driver itself would then handle the power state transitions based
on the selection from userspace.  For example, if the low power state
was selected, the driver would limit the max clocks and voltages based
on that.  As Matthew mentioned, the driver would adjust the engine
clock on the fly when commands come in, and then downclock again after
a certain period.  There would also be an idle mode where everything
would be down to the minimum (i.e., crtcs off, engines idle, etc.).
In that case we could drop the clocks and pcie lanes to the lowest
level.

I don't think there is really any need for 2D vs. 3D mode as most of
the useful "2D" accel uses the 3D engine anyway.  So whenever we see
commands come in, we should treat it the same; upclock to the limit
imposed by the currently selected mode.

The power tables in the bios could be used for setting limits and
usable combinations (the hw can be picky about what combinations of
sclks and mclks modes it likes) and for getting the idle (and possibly
suspend) power modes.

Mem clocks and pcie lanes are trickier since you need to make sure you
have enough bandwidth available to supply all currently active clients
(displays, 2D, 3D, overlays, etc.).  It probably makes sense to only
adjust them during a mode set or a forced power state or the idle
state.  These require some more thought.  Driver hints may be useful
here.

Alex

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to