From a885d6786f40fd0c4dbcb09a17f6e103d0949ed7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 6 Dec 2002 02:27:30 +0000 Subject: Add vblank signal code for BSD DRM. Untested so far, but working with a 4.2.0 userland at least. --- bsd/drm.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'bsd/drm.h') diff --git a/bsd/drm.h b/bsd/drm.h index f45f088e..d3c9f158 100644 --- a/bsd/drm.h +++ b/bsd/drm.h @@ -346,15 +346,29 @@ typedef struct drm_irq_busid { } drm_irq_busid_t; typedef enum { - _DRM_VBLANK_ABSOLUTE = 0x0, /* Wait for specific vblank sequence number */ - _DRM_VBLANK_RELATIVE = 0x1 /* Wait for given number of vblanks */ + _DRM_VBLANK_ABSOLUTE = 0x0, /* Wait for specific vblank sequence number */ + _DRM_VBLANK_RELATIVE = 0x1, /* Wait for given number of vblanks */ + _DRM_VBLANK_SIGNAL = 0x80000000 /* Send signal instead of blocking */ } drm_vblank_seq_type_t; -typedef struct drm_radeon_vbl_wait { +#define _DRM_VBLANK_FLAGS_MASK _DRM_VBLANK_SIGNAL + +struct drm_wait_vblank_request { + drm_vblank_seq_type_t type; + unsigned int sequence; + unsigned long signal; +}; + +struct drm_wait_vblank_reply { drm_vblank_seq_type_t type; unsigned int sequence; long tval_sec; long tval_usec; +}; + +typedef union drm_wait_vblank { + struct drm_wait_vblank_request request; + struct drm_wait_vblank_reply reply; } drm_wait_vblank_t; typedef struct drm_agp_mode { -- cgit v1.2.3