aboutsummaryrefslogtreecommitdiff
path: root/shared-core/i915_drv.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-05 14:23:18 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-05 14:23:18 +0200
commit034fc31292edaa25779a938ab3e92ef34697eaf9 (patch)
tree5a8c1accd82521750a64f8140b273a3f06d95e6c /shared-core/i915_drv.h
parent8c613a8363963330fbf701186f654007d6208bba (diff)
i915: Only turn on user IRQs when they are needed.
Diffstat (limited to 'shared-core/i915_drv.h')
-rw-r--r--shared-core/i915_drv.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h
index 8bf82ed8..f8d08741 100644
--- a/shared-core/i915_drv.h
+++ b/shared-core/i915_drv.h
@@ -103,6 +103,10 @@ typedef struct drm_i915_private {
struct mem_block *agp_heap;
unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds;
int vblank_pipe;
+ spinlock_t user_irq_lock;
+ int user_irq_refcount;
+ uint32_t irq_enable_reg;
+ int irq_enabled;
#ifdef I915_HAVE_FENCE
uint32_t flush_sequence;
@@ -139,6 +143,8 @@ extern void i915_driver_irq_uninstall(drm_device_t * dev);
extern int i915_vblank_pipe_set(DRM_IOCTL_ARGS);
extern int i915_vblank_pipe_get(DRM_IOCTL_ARGS);
extern int i915_emit_irq(drm_device_t * dev);
+extern void i915_user_irq_on(drm_i915_private_t *dev_priv);
+extern void i915_user_irq_off(drm_i915_private_t *dev_priv);
/* i915_mem.c */
extern int i915_mem_alloc(DRM_IOCTL_ARGS);