summaryrefslogtreecommitdiff
path: root/linux/drmP.h
diff options
context:
space:
mode:
authorMichel Daenzer <michel@daenzer.net>2002-09-25 17:18:19 +0000
committerMichel Daenzer <michel@daenzer.net>2002-09-25 17:18:19 +0000
commit55acd0d5a64a2ee6b0cecc75872fbf8c4bb42a0c (patch)
tree35851b96a577b91c5a41de9d4b390d038f558fce /linux/drmP.h
parentf1c8fe95578e15d5eece6ad52540ce2c7c671f70 (diff)
common ioctl to wait for vertical blank IRQs
Diffstat (limited to 'linux/drmP.h')
-rw-r--r--linux/drmP.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/linux/drmP.h b/linux/drmP.h
index 7d82fce3..6f6f91c4 100644
--- a/linux/drmP.h
+++ b/linux/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