aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/omapdrm/omap_crtc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 161a74a3ac5e..61d1c4897a45 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -33,6 +33,7 @@ struct omap_crtc {
33 int pipe; 33 int pipe;
34 enum omap_channel channel; 34 enum omap_channel channel;
35 struct omap_overlay_manager_info info; 35 struct omap_overlay_manager_info info;
36 struct drm_encoder *current_encoder;
36 37
37 /* 38 /*
38 * Temporary: eventually this will go away, but it is needed 39 * Temporary: eventually this will go away, but it is needed
@@ -594,6 +595,11 @@ static void omap_crtc_pre_apply(struct omap_drm_apply *apply)
594 } 595 }
595 } 596 }
596 597
598 if (omap_crtc->current_encoder && encoder != omap_crtc->current_encoder)
599 omap_encoder_set_enabled(omap_crtc->current_encoder, false);
600
601 omap_crtc->current_encoder = encoder;
602
597 if (!omap_crtc->enabled) { 603 if (!omap_crtc->enabled) {
598 set_enabled(&omap_crtc->base, false); 604 set_enabled(&omap_crtc->base, false);
599 if (encoder) 605 if (encoder)