summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/omapdrm/omap_crtc.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-03-05 14:39:56 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-06-12 22:52:47 +0300
commitde8e41000136bf9a0ccf652fc364658f3210b6f4 (patch)
tree818af7e6061bac89243d4df7e5c12cabec0ca276 /drivers/gpu/drm/omapdrm/omap_crtc.c
parent69a12263f6f919cd53b10c849e1674e38931e74e (diff)
downloadlinux-de8e41000136bf9a0ccf652fc364658f3210b6f4.tar.xz
drm: omapdrm: Implement planes atomic operations
Implement the CRTC .atomic_begin() and .atomic_flush() operations, the plane .atomic_check(), .atomic_update() and operations, and use the transitional atomic helpers to implement the plane update and disable operations on top of the new atomic operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_crtc.c')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_crtc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 5f4f5ad93345..277cad1dacf7 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -652,6 +652,18 @@ static int omap_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
return omap_crtc_flush(crtc);
}
+static void omap_crtc_atomic_begin(struct drm_crtc *crtc)
+{
+ dispc_runtime_get();
+}
+
+static void omap_crtc_atomic_flush(struct drm_crtc *crtc)
+{
+ omap_crtc_flush(crtc);
+
+ dispc_runtime_put();
+}
+
static void page_flip_worker(struct work_struct *work)
{
struct omap_crtc *omap_crtc =
@@ -792,6 +804,8 @@ static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = {
.mode_set_base = omap_crtc_mode_set_base,
.disable = omap_crtc_disable,
.enable = omap_crtc_enable,
+ .atomic_begin = omap_crtc_atomic_begin,
+ .atomic_flush = omap_crtc_atomic_flush,
};
/* -----------------------------------------------------------------------------