summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-08-04 11:10:26 -0400
committerDave Airlie <airlied@redhat.com>2010-08-10 10:46:54 +1000
commita44d2f37253cb7a8dc302e345d8909828b093e3c (patch)
treeffd9935ae155d02b968ab84b64816c96f5a4e5e6
parent817e631eaff2747b1c7a8234f64c95c10cfb1f8f (diff)
downloadlinux-a44d2f37253cb7a8dc302e345d8909828b093e3c.tar.bz2
drm/radeon/kms: mark 3D power states as performance
Fixes lack of power saving with multiple heads on some desktop cards. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16474 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index a416ab5c0c45..6d30868744ee 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -2064,6 +2064,11 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
rdev->pm.power_state[state_index].type =
POWER_STATE_TYPE_PERFORMANCE;
break;
+ case ATOM_PPLIB_CLASSIFICATION_UI_NONE:
+ if (misc2 & ATOM_PPLIB_CLASSIFICATION_3DPERFORMANCE)
+ rdev->pm.power_state[state_index].type =
+ POWER_STATE_TYPE_PERFORMANCE;
+ break;
}
rdev->pm.power_state[state_index].flags = 0;
if (misc & ATOM_PPLIB_SINGLE_DISPLAY_ONLY)