aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/atombios_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-03-16 17:42:46 -0400
committerDave Airlie <airlied@redhat.com>2010-05-18 04:20:55 -0400
commit03214bd5c6e59c83703238227254deef8810513d (patch)
treecff47cda415e5508f0475f1a8007367ffba8a419 /drivers/gpu/drm/radeon/atombios_crtc.c
parent8a56df632e524a1c444c56bb7ce9fe8d94e639e0 (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/atombios_crtc.c')
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index 3feca6aec4c4..12fb12a2bbac 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -262,6 +262,9 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
262 atombios_enable_crtc(crtc, ATOM_DISABLE); 262 atombios_enable_crtc(crtc, ATOM_DISABLE);
263 break; 263 break;
264 } 264 }
265
266 /* adjust pm to dpms change */
267 radeon_pm_compute_clocks(rdev);
265} 268}
266 269
267static void 270static void
@@ -1156,6 +1159,12 @@ static bool atombios_crtc_mode_fixup(struct drm_crtc *crtc,
1156 struct drm_display_mode *mode, 1159 struct drm_display_mode *mode,
1157 struct drm_display_mode *adjusted_mode) 1160 struct drm_display_mode *adjusted_mode)
1158{ 1161{
1162 struct drm_device *dev = crtc->dev;
1163 struct radeon_device *rdev = dev->dev_private;
1164
1165 /* adjust pm to upcoming mode change */
1166 radeon_pm_compute_clocks(rdev);
1167
1159 if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode)) 1168 if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode))
1160 return false; 1169 return false;
1161 return true; 1170 return true;