@@ -3438,6 +3438,12 @@ static void intel_crtc_update_sarea(struct drm_crtc *crtc,
}
}
+static int intel_crtc_mode_set(struct drm_crtc *crtc,
+ struct drm_display_mode *mode,
+ struct drm_display_mode *adjusted_mode,
+ int x, int y,
+ struct drm_framebuffer *fb);
+
/**
* Sets the power management mode of the pipe and plane.
*/
@@ -3451,9 +3457,11 @@ void intel_crtc_update_dpms(struct drm_crtc *crtc)
for_each_encoder_on_crtc(dev, crtc, intel_encoder)
enable |= intel_encoder->connectors_active;
- if (enable)
+ if (enable) {
+ intel_crtc_mode_set(crtc, &crtc->mode, &crtc->hwmode,
+ crtc->x, crtc->y, crtc->fb);
dev_priv->display.crtc_enable(crtc);
- else
+ } else
dev_priv->display.crtc_disable(crtc);
intel_crtc_update_sarea(crtc, enable);