This patch fixes a bug introduced by:
commit
749387dc8d8270b279f27a0a794cdf4f4a4aa774
Author: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Date: Sun Apr 7 16:35:50 2013 +0200
drm/gma500: Fix hibernation problems on sdvo encoders
The bug is triggered when we do a mode set on a sdvo encoder with all
connectors in the disconnected state. A crtc is considered enabled by
drm even though all of its connectors are disconnected. Work around
this by adding a check in our sdvo restore function.
Also remove the unneeded dpms on. Prepare and Commit will take care of
that.
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
REG_WRITE(sdvo->sdvo_reg, sdvo->saveSDVO);
- /* Force dpms on upon resume */
- psb_intel_sdvo_dpms(encoder, DRM_MODE_DPMS_ON);
-
/* Force a full mode set on the crtc. We're supposed to have the
mode_config lock already. */
- drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x, crtc->y, NULL);
+ if (connector->status == connector_status_connected)
+ drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x, crtc->y,
+ NULL);
}
static const struct drm_encoder_helper_funcs psb_intel_sdvo_helper_funcs = {