diff options
author | Eric Anholt <anholt@freebsd.org> | 2002-12-06 02:27:30 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2002-12-06 02:27:30 +0000 |
commit | a885d6786f40fd0c4dbcb09a17f6e103d0949ed7 (patch) | |
tree | 1da8fcdad13100b0b0fe3f1230af8c66cbf8a876 /bsd/drmP.h | |
parent | 85025d4f2ad25258fb7678395b8c7ce1be1f0063 (diff) |
Add vblank signal code for BSD DRM. Untested so far, but working with a
4.2.0 userland at least.
Diffstat (limited to 'bsd/drmP.h')
-rw-r--r-- | bsd/drmP.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -392,6 +392,14 @@ typedef struct drm_map_list_entry { drm_map_t *map; } drm_map_list_entry_t; +TAILQ_HEAD(drm_vbl_sig_list, drm_vbl_sig); +typedef struct drm_vbl_sig { + TAILQ_ENTRY(drm_vbl_sig) link; + unsigned int sequence; + int signo; + int pid; +} drm_vbl_sig_t; + struct drm_device { #ifdef __NetBSD__ struct device device; /* NetBSD's softc is an extension of struct device */ @@ -469,6 +477,8 @@ struct drm_device { #if __HAVE_VBL_IRQ wait_queue_head_t vbl_queue; /* vbl wait channel */ atomic_t vbl_received; + struct drm_vbl_sig_list vbl_sig_list; + DRM_SPINTYPE vbl_lock; #endif cycles_t ctx_start; cycles_t lck_start; @@ -613,6 +623,7 @@ extern drm_buf_t *DRM(freelist_get)(drm_freelist_t *bl, int block); #endif /* __HAVE_DMA */ #if __HAVE_VBL_IRQ extern int DRM(vblank_wait)(drm_device_t *dev, unsigned int *vbl_seq); +extern void DRM(vbl_send_signals)( drm_device_t *dev ); #endif #if __REALLY_HAVE_AGP |