On Thu, Apr 3, 2014 at 9:45 AM, Tomi Valkeinen tomi.valkeinen@ti.com wrote:
When an encoder is no longer connected to a crtc, the driver will leave the encoder enabled.
This patch adds code to track the encoder used for a crtc, and when the encoder changes, the old one is disabled.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com
Reviewed-by: Rob Clark robdclark@gmail.com
drivers/gpu/drm/omapdrm/omap_crtc.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 4f624c59a660..beccff2ccf84 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -33,6 +33,7 @@ struct omap_crtc { int pipe; enum omap_channel channel; struct omap_overlay_manager_info info;
struct drm_encoder *current_encoder; /* * Temporary: eventually this will go away, but it is needed
@@ -593,6 +594,11 @@ static void omap_crtc_pre_apply(struct omap_drm_apply *apply) } }
if (omap_crtc->current_encoder && encoder != omap_crtc->current_encoder)
omap_encoder_set_enabled(omap_crtc->current_encoder, false);
omap_crtc->current_encoder = encoder;
if (!omap_crtc->enabled) { set_enabled(&omap_crtc->base, false); if (encoder)
-- 1.8.3.2