diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-03-16 17:42:46 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 04:20:55 -0400 |
commit | 03214bd5c6e59c83703238227254deef8810513d (patch) | |
tree | cff47cda415e5508f0475f1a8007367ffba8a419 /drivers/gpu/drm/radeon/radeon_legacy_crtc.c | |
parent | 8a56df632e524a1c444c56bb7ce9fe8d94e639e0 (diff) |
drm/radeon/kms/pm: move pm state update to crtc functions
crtcs are what we ultimately care about wrt to pm.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_legacy_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c index 88865e38fe30..60c0dcb8e11e 100644 --- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c | |||
@@ -337,6 +337,9 @@ void radeon_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
337 | } | 337 | } |
338 | break; | 338 | break; |
339 | } | 339 | } |
340 | |||
341 | /* adjust pm to dpms change */ | ||
342 | radeon_pm_compute_clocks(rdev); | ||
340 | } | 343 | } |
341 | 344 | ||
342 | int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y, | 345 | int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y, |
@@ -966,6 +969,12 @@ static bool radeon_crtc_mode_fixup(struct drm_crtc *crtc, | |||
966 | struct drm_display_mode *mode, | 969 | struct drm_display_mode *mode, |
967 | struct drm_display_mode *adjusted_mode) | 970 | struct drm_display_mode *adjusted_mode) |
968 | { | 971 | { |
972 | struct drm_device *dev = crtc->dev; | ||
973 | struct radeon_device *rdev = dev->dev_private; | ||
974 | |||
975 | /* adjust pm to upcoming mode change */ | ||
976 | radeon_pm_compute_clocks(rdev); | ||
977 | |||
969 | if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode)) | 978 | if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode)) |
970 | return false; | 979 | return false; |
971 | return true; | 980 | return true; |