summaryrefslogtreecommitdiff
path: root/bsd/drmP.h
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2002-09-26 07:45:07 +0000
committerEric Anholt <anholt@freebsd.org>2002-09-26 07:45:07 +0000
commit97961e2c65773328fe9c2e1d66e4a0b8a253d54d (patch)
tree3b81fbbe9ebef5f2398964df7dc392c73646add1 /bsd/drmP.h
parent770d045d25728be51534b930afdfa36f3ffddbfc (diff)
BSD vblank framework.
Diffstat (limited to 'bsd/drmP.h')
-rw-r--r--bsd/drmP.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/bsd/drmP.h b/bsd/drmP.h
index f323e8ef..1adaa0e5 100644
--- a/bsd/drmP.h
+++ b/bsd/drmP.h
@@ -465,6 +465,10 @@ struct drm_device {
#if __FreeBSD_version >= 400005
struct task task;
#endif
+#if __HAVE_VBL_IRQ
+ wait_queue_head_t vbl_queue; /* vbl wait channel */
+ atomic_t vbl_received;
+#endif
cycles_t ctx_start;
cycles_t lck_start;
#if __HAVE_DMA_HISTOGRAM
@@ -579,6 +583,9 @@ extern int DRM(dma_get_buffers)(drm_device_t *dev, drm_dma_t *dma);
extern int DRM(irq_install)( drm_device_t *dev, int irq );
extern int DRM(irq_uninstall)( drm_device_t *dev );
extern void DRM(dma_service)( DRM_IRQ_ARGS );
+extern void DRM(driver_irq_preinstall)( drm_device_t *dev );
+extern void DRM(driver_irq_postinstall)( drm_device_t *dev );
+extern void DRM(driver_irq_uninstall)( drm_device_t *dev );
#if __HAVE_DMA_IRQ_BH
extern void DRM(dma_immediate_bh)( DRM_TASKQUEUE_ARGS );
#endif
@@ -603,6 +610,9 @@ extern int DRM(freelist_put)(drm_device_t *dev, drm_freelist_t *bl,
extern drm_buf_t *DRM(freelist_get)(drm_freelist_t *bl, int block);
#endif
#endif /* __HAVE_DMA */
+#if __HAVE_VBL_IRQ
+extern int DRM(vblank_wait)(drm_device_t *dev, unsigned int *vbl_seq);
+#endif
#if __REALLY_HAVE_AGP
/* AGP/GART support (drm_agpsupport.h) */