aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_encoders.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_encoders.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_encoders.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index c5ba1e30a43f..f7d6078876c5 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -262,6 +262,9 @@ static bool radeon_atom_mode_fixup(struct drm_encoder *encoder,
262 struct drm_device *dev = encoder->dev; 262 struct drm_device *dev = encoder->dev;
263 struct radeon_device *rdev = dev->dev_private; 263 struct radeon_device *rdev = dev->dev_private;
264 264
265 /* adjust pm to upcoming mode change */
266 radeon_pm_compute_clocks(rdev);
267
265 /* set the active encoder to connector routing */ 268 /* set the active encoder to connector routing */
266 radeon_encoder_set_active_device(encoder); 269 radeon_encoder_set_active_device(encoder);
267 drm_mode_set_crtcinfo(adjusted_mode, 0); 270 drm_mode_set_crtcinfo(adjusted_mode, 0);
@@ -1013,6 +1016,9 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
1013 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1016 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
1014 } 1017 }
1015 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); 1018 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);
1019
1020 /* adjust pm to dpms change */
1021 radeon_pm_compute_clocks(rdev);
1016} 1022}
1017 1023
1018union crtc_source_param { 1024union crtc_source_param {