diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2016-06-06 04:25:04 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2016-12-19 12:24:58 +0300 |
commit | dadf4659d0608e034b6633f30300c2eff2dafb4c (patch) | |
tree | 3ec33e85a983a3e06632aef2f7dfc6c6014847bd /drivers/gpu/drm/omapdrm/omap_drv.c | |
parent | f933a3a93b2d74a255643b326316eee392fa1b80 (diff) | |
download | linux-dadf4659d0608e034b6633f30300c2eff2dafb4c.tar.xz |
drm: omapdrm: Let the DRM core skip plane commit on inactive CRTCs
The DRM core supports skipping plane update for inactive CRTCs for
hardware that don't need it or can't cope with it. That's our case, and
the driver already skips flushing planes on inactice CRTCs.
We can't remove the check from the driver, as active CRTCs are disabled
at the hardware level when an atomic flush is performed if a mode set is
pending. There's however no need to forward the plane commit calls to
the driver, so use the DRM core infrastructure to skip them with a
detailed comment to explain why the check must still be kept in the
driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_drv.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_drv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c index 6faba13c8e41..0a2d461d62cf 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c @@ -96,7 +96,8 @@ 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, 0); + drm_atomic_helper_commit_planes(dev, old_state, + DRM_PLANE_COMMIT_ACTIVE_ONLY); drm_atomic_helper_commit_modeset_enables(dev, old_state); omap_atomic_wait_for_completion(dev, old_state); |