diff options
author | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2006-09-05 14:23:18 +0200 |
---|---|---|
committer | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2006-09-05 14:23:18 +0200 |
commit | 034fc31292edaa25779a938ab3e92ef34697eaf9 (patch) | |
tree | 5a8c1accd82521750a64f8140b273a3f06d95e6c /shared-core/i915_drv.h | |
parent | 8c613a8363963330fbf701186f654007d6208bba (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.h | 6 |
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); |