diff options
author | Michel Daenzer <michel@daenzer.net> | 2002-09-25 17:18:19 +0000 |
---|---|---|
committer | Michel Daenzer <michel@daenzer.net> | 2002-09-25 17:18:19 +0000 |
commit | 55acd0d5a64a2ee6b0cecc75872fbf8c4bb42a0c (patch) | |
tree | 35851b96a577b91c5a41de9d4b390d038f558fce /linux-core/drmP.h | |
parent | f1c8fe95578e15d5eece6ad52540ce2c7c671f70 (diff) |
common ioctl to wait for vertical blank IRQs
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r-- | linux-core/drmP.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 7d82fce3..6f6f91c4 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -577,6 +577,10 @@ typedef struct drm_device { int last_context; /* Last current context */ unsigned long last_switch; /* jiffies at last context switch */ struct tq_struct tq; +#if __HAVE_VBL_IRQ + wait_queue_head_t vbl_queue; + atomic_t vbl_received; +#endif cycles_t ctx_start; cycles_t lck_start; #if __HAVE_DMA_HISTOGRAM @@ -809,6 +813,14 @@ 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)( int irq, void *device, struct pt_regs *regs ); +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_VBL_IRQ +extern int DRM(wait_vblank)(struct inode *inode, struct file *filp, + unsigned int cmd, unsigned long arg); +extern int DRM(vblank_wait)(drm_device_t *dev, unsigned int *vbl_seq); +#endif #if __HAVE_DMA_IRQ_BH extern void DRM(dma_immediate_bh)( void *dev ); #endif |