diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_crtc.c | 6 |
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) |