diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-03-05 22:42:39 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-06-12 21:52:48 +0200 |
commit | 748471a5e4afc91e2867caad3da613320fd88bbe (patch) | |
tree | bbd888a41ead24d4bffbcf03598b2c376a9d9c4e /drivers/gpu/drm/omapdrm/omap_drv.h | |
parent | drm: omapdrm: Replace encoder mode_fixup with atomic_check (diff) | |
download | linux-748471a5e4afc91e2867caad3da613320fd88bbe.tar.xz linux-748471a5e4afc91e2867caad3da613320fd88bbe.zip |
drm: omapdrm: Implement asynchronous commit support
Implement a custom .atomic_commit() handler that supports asynchronous
commits using a work queue. This can be used for userspace-driven
asynchronous commits, as well as for an atomic page flip implementation.
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_drv.h')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_drv.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h index 6448fa809215..21c3929b06e7 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.h +++ b/drivers/gpu/drm/omapdrm/omap_drv.h @@ -23,6 +23,7 @@ #include <linux/module.h> #include <linux/platform_data/omap_drm.h> #include <linux/types.h> +#include <linux/wait.h> #include <video/omapdss.h> #include <drm/drmP.h> @@ -105,6 +106,13 @@ struct omap_drm_private { struct list_head irq_list; /* list of omap_drm_irq */ uint32_t vblank_mask; /* irq bits set for userspace vblank */ struct omap_drm_irq error_handler; + + /* atomic commit */ + struct { + wait_queue_head_t wait; + u32 pending; + spinlock_t lock; /* Protects commit.pending */ + } commit; }; |