All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] drm/radeon/kms: update pm code
@ 2010-05-07 21:16 Alex Deucher
  2010-05-07 21:16 ` [PATCH 1/9] drm/radeon/kms: enable misc pm power state features on r5xx, rs6xx Alex Deucher
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Alex Deucher @ 2010-05-07 21:16 UTC (permalink / raw)
  To: airlied, dri-devel; +Cc: mjg59

This set of patches applies on top of the code in drm-radeon-testing.

I've been testing this code pretty hard this week and it's been solid.
In addition to some fixes on top of what's in d-r-t, it also reworks
the pm code to support two basic methods:

1. "dynpm"
2. "profile"

You can select the methods via sysfs.  Echo "dynpm" or "profile" to
/sys/class/drm/card-0/device/power_method.

The "dynpm" method dynamically changes the clocks based on the number of pending
fences, so performance is ramped up when running GPU intensive apps, and
ramped down when the GPU is idle.  The reclocking is attemped during
vertical blanking periods, but due to the timing of the reclocking
functions, doesn't not always complete in the blanking period, which can
lead to flicker in the display.  Due to this, dynpm only works when a single
head is active.

The "profile" method exposes 4 profiles that can be selected from:
1. "default"
2. "auto"
3. "low"
4. "high"
Select the profile by echoing the selected profile to
/sys/class/drm/card-0/device/power_profile.

"default" uses the default clocks and does not change the power state.  This is
the default behavior.
"auto" selects between low and high power states based on the whether the system
is on battery power or not.  Even lower power states are selected when the monitors
are in the dpms off state.
"low" forces the gpu to be in the low power state all the time.  Even lower power
states are selected when the monitors are in the dpms off state.
"high" forces the gpu to be in the high power state all the time.  Even lower power
states are selected when the monitors are in the dpms off state.

The "profile" method is not as agressive as "dynpm," but is currently much more
stable and flicker free and works with multiple heads active.

The default power management method is "profile" using the "default" profile.
The default should eventaully be changed to "profile" "auto".

For upstream, we may want to squash some of these.  I'm open to suggestions.
Everthing that's been added since drm-linus?

Alex

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2010-05-10 17:28 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-07 21:16 [PATCH 0/9] drm/radeon/kms: update pm code Alex Deucher
2010-05-07 21:16 ` [PATCH 1/9] drm/radeon/kms: enable misc pm power state features on r5xx, rs6xx Alex Deucher
2010-05-07 21:16   ` [PATCH 2/9] drm/radeon/kms: enable misc pm power state features on r1xx-r4xx Alex Deucher
2010-05-07 21:16     ` [PATCH 3/9] drm/radeon/kms: re-enable gui idle interrupts on r6xx+ Alex Deucher
2010-05-07 21:16       ` [PATCH 4/9] radeon: Split out ring locking and allocation Alex Deucher
2010-05-07 21:16         ` [PATCH 5/9] radeon: Use fences to gate entry to reclocking on <r600 Alex Deucher
2010-05-07 21:16           ` [PATCH 6/9] drm/radeon/kms: fix lock ordering in ring, ib handling Alex Deucher
2010-05-07 21:16             ` [PATCH 7/9] drm/radeon/kms/pm: add support for no display power states Alex Deucher
2010-05-07 21:16               ` [PATCH 8/9] drm/radeon/kms/pm: rework power management Alex Deucher
2010-05-07 21:16                 ` [PATCH 9/9] drm/radeon/kms/pm: make pm spam debug only Alex Deucher
2010-05-07 21:23 ` [PATCH 0/9] drm/radeon/kms: update pm code Matthew Garrett
2010-05-07 22:24   ` Alex Deucher
2010-05-08 11:14 ` Klaus Doblmann B.A.
2010-05-08 15:29   ` Alex Deucher
2010-05-08 18:46     ` Klaus Doblmann B.A.
2010-05-10 16:04 ` Andy Furniss
2010-05-10 16:47   ` Alex Deucher
2010-05-10 17:25     ` Andy Furniss
2010-05-10 17:28       ` Rafał Miłecki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.