summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/drm.h
diff options
context:
space:
mode:
author=?utf-8?q?Michel_D=C3=A4nzer?= <michel@tungstengraphics.com>2006-10-24 15:34:18 +0200
committerairlied <airlied@linux.ie>2006-12-07 05:53:29 +0100
commitab285d74e6742422fd0465577a31fb03fe9ed241 (patch)
tree172d9731b6288751478fd25d985aefb90f7c41bf /drivers/char/drm/drm.h
parentdrm: Make locked tasklet handling more robust. (diff)
downloadlinux-ab285d74e6742422fd0465577a31fb03fe9ed241.tar.xz
linux-ab285d74e6742422fd0465577a31fb03fe9ed241.zip
drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
When this flag is set and the target sequence is missed, wait for the next vertical blank instead of returning immediately. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/drm.h')
-rw-r--r--drivers/char/drm/drm.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/drm/drm.h b/drivers/char/drm/drm.h
index 07a699029c3e..3f28a1551621 100644
--- a/drivers/char/drm/drm.h
+++ b/drivers/char/drm/drm.h
@@ -487,12 +487,14 @@ typedef struct drm_irq_busid {
typedef enum {
_DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */
_DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */
+ _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */
_DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */
_DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */
} drm_vblank_seq_type_t;
#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
-#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_SIGNAL | _DRM_VBLANK_SECONDARY)
+#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_SIGNAL | _DRM_VBLANK_SECONDARY | \
+ _DRM_VBLANK_NEXTONMISS)
struct drm_wait_vblank_request {
drm_vblank_seq_type_t type;