]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
Revert "drm: omapdrm: Let the DRM core skip plane commit on inactive CRTCs"
authorJyri Sarha <jsarha@ti.com>
Fri, 27 Jan 2017 10:04:54 +0000 (12:04 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 16 Feb 2017 12:09:55 +0000 (14:09 +0200)
This reverts commit dadf4659d0608e034b6633f30300c2eff2dafb4c.

If planes are not disabled when the they are not on any crtc anymore
they will remain active and may show as "ghosts" when the crtc they
were last on is active again.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/omap_crtc.c
drivers/gpu/drm/omapdrm/omap_drv.c

index dd47dc191e6b1ce10f41818156cb532e857c2ba2..b68c70eb395f2dccf55e6f775738ea4be3c62690 100644 (file)
@@ -410,13 +410,7 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc,
                dispc_mgr_set_gamma(omap_crtc->channel, lut, length);
        }
 
-       /*
-        * Only flush the CRTC if it is currently enabled. CRTCs that require a
-        * mode set are disabled prior plane updates and enabled afterwards.
-        * They are thus not active (regardless of what their CRTC core state
-        * reports) and the DRM core could thus call this function even though
-        * the CRTC is currently disabled. Do nothing in that case.
-        */
+       /* Only flush the CRTC if it is currently enabled. */
        if (!omap_crtc->enabled)
                return;
 
index afe8f05b927b2c43170a58f5564be44c01c0fc60..f85c9c8d8467ff35166dc1e7585b1f2377769764 100644 (file)
@@ -96,8 +96,7 @@ static void omap_atomic_complete(struct omap_atomic_state_commit *commit)
        dispc_runtime_get();
 
        drm_atomic_helper_commit_modeset_disables(dev, old_state);
-       drm_atomic_helper_commit_planes(dev, old_state,
-                                       DRM_PLANE_COMMIT_ACTIVE_ONLY);
+       drm_atomic_helper_commit_planes(dev, old_state, 0);
        drm_atomic_helper_commit_modeset_enables(dev, old_state);
 
        omap_atomic_wait_for_completion(dev, old_state);