From 97961e2c65773328fe9c2e1d66e4a0b8a253d54d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 26 Sep 2002 07:45:07 +0000 Subject: BSD vblank framework. --- bsd-core/drmP.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bsd-core/drmP.h') diff --git a/bsd-core/drmP.h b/bsd-core/drmP.h index f323e8ef..1adaa0e5 100644 --- a/bsd-core/drmP.h +++ b/bsd-core/drmP.h @@ -464,6 +464,10 @@ struct drm_device { unsigned long last_switch; /* jiffies at last context switch */ #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; @@ -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) */ -- cgit v1.2.3