summaryrefslogtreecommitdiff
path: root/linux-core/drmP.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2006-08-16 15:47:22 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2006-09-29 12:55:08 +0200
commita7b8c8d523d7f726b8fb74cb37f807d2316cf5dd (patch)
treef5a51341055bd6898cbff5f79af04c39449e17b8 /linux-core/drmP.h
parent596d7e998403f565a796c431dbbcaf9e0c49908b (diff)
Add support for interrupt triggered driver callback with lock held to DRM core.
(cherry picked from d817cc1f30060fcc4a85a05b2de8a2a1687421b5 commit)
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r--linux-core/drmP.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 6a978f33..60354bce 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -919,6 +919,8 @@ typedef struct drm_device {
drm_vbl_sig_t vbl_sigs; /**< signal list to send on VBLANK */
drm_vbl_sig_t vbl_sigs2; /**< signals to send on secondary VBLANK */
unsigned int vbl_pending;
+ spinlock_t tasklet_lock; /**< For drm_locked_tasklet */
+ void (*locked_tasklet_func)(struct drm_device *dev);
/*@} */
cycles_t ctx_start;
@@ -1230,6 +1232,7 @@ 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);
extern void drm_vbl_send_signals(drm_device_t * dev);
+extern void drm_locked_tasklet(drm_device_t *dev, void(*func)(drm_device_t*));
/* AGP/GART support (drm_agpsupport.h) */
extern drm_agp_head_t *drm_agp_init(drm_device_t *dev);