summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/i915_drm.h
diff options
context:
space:
mode:
author=?utf-8?q?Michel_D=C3=A4nzer?= <michel@tungstengraphics.com>2006-10-24 23:37:43 +1000
committerairlied <airlied@linux.ie>2006-12-07 15:53:29 +1100
commita6b54f3f5050c0cbc0c35dd48064846c6302706b (patch)
treeed0a17808058150916a56120a10109d70a2dd426 /drivers/char/drm/i915_drm.h
parent049b323321bbcb476b799f50dc6444c0ed5a0e0e (diff)
downloadlinux-a6b54f3f5050c0cbc0c35dd48064846c6302706b.tar.gz
linux-a6b54f3f5050c0cbc0c35dd48064846c6302706b.tar.bz2
linux-a6b54f3f5050c0cbc0c35dd48064846c6302706b.zip
drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks.
This uses the core facility to schedule a driver callback that will be called ASAP after the given vertical blank interrupt with the HW lock held. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/i915_drm.h')
-rw-r--r--drivers/char/drm/i915_drm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/char/drm/i915_drm.h b/drivers/char/drm/i915_drm.h
index 6af83e613f27..8926beb5a61f 100644
--- a/drivers/char/drm/i915_drm.h
+++ b/drivers/char/drm/i915_drm.h
@@ -132,6 +132,7 @@ typedef struct _drm_i915_sarea {
#define DRM_I915_DESTROY_HEAP 0x0c
#define DRM_I915_SET_VBLANK_PIPE 0x0d
#define DRM_I915_GET_VBLANK_PIPE 0x0e
+#define DRM_I915_VBLANK_SWAP 0x0f
#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -243,4 +244,12 @@ typedef struct drm_i915_vblank_pipe {
int pipe;
} drm_i915_vblank_pipe_t;
+/* Schedule buffer swap at given vertical blank:
+ */
+typedef struct drm_i915_vblank_swap {
+ drm_drawable_t drawable;
+ unsigned int pipe;
+ unsigned int sequence;
+} drm_i915_vblank_swap_t;
+
#endif /* _I915_DRM_H_ */