From 24579913d286b24f1f633cd1d143f9d08d2a895d Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 25 Jun 2010 15:05:14 -0400 Subject: [PATCH] drm/radeon/kms/pm: fix power state indexing on igp chips in dynpm mode Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28745 Signed-off-by: Alex Deucher --- drivers/gpu/drm/radeon/r600.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 0e91871..7f48593 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -130,9 +130,14 @@ void r600_pm_get_dynpm_state(struct radeon_device *rdev) break; } } - } else - rdev->pm.requested_power_state_index = - rdev->pm.current_power_state_index - 1; + } else { + if (rdev->pm.current_power_state_index == 0) + rdev->pm.requested_power_state_index = + rdev->pm.num_power_states - 1; + else + rdev->pm.requested_power_state_index = + rdev->pm.current_power_state_index - 1; + } } rdev->pm.requested_clock_mode_index = 0; /* don't use the power state if crtcs are active and no display flag is set */ -- 1.7.0.1