summaryrefslogtreecommitdiff
path: root/shared-core/i915_irq.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-12 12:01:00 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-12 12:01:00 +0200
commit191e284709ee792a32124e96e43d5876406b93dc (patch)
treee6fdf405683aab861f1daa82a403062681d6875c /shared-core/i915_irq.c
parent99acb7936660843090ea8a9f22d2d50d9433e0de (diff)
More bugfixes.
Disable the i915 IRQ turnoff for now since it seems to be causing problems.
Diffstat (limited to 'shared-core/i915_irq.c')
-rw-r--r--shared-core/i915_irq.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/shared-core/i915_irq.c b/shared-core/i915_irq.c
index 4a1b2987..8f3e79de 100644
--- a/shared-core/i915_irq.c
+++ b/shared-core/i915_irq.c
@@ -47,8 +47,9 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
temp &= (USER_INT_FLAG | VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG);
+#if 0
DRM_DEBUG("%s flag=%08x\n", __FUNCTION__, temp);
-
+#endif
if (temp == 0)
return IRQ_NONE;
@@ -104,7 +105,7 @@ int i915_emit_irq(drm_device_t * dev)
void i915_user_irq_on(drm_i915_private_t *dev_priv)
{
-
+ return;
spin_lock(&dev_priv->user_irq_lock);
if (dev_priv->irq_enabled && (++dev_priv->user_irq_refcount == 1)){
dev_priv->irq_enable_reg |= USER_INT_FLAG;
@@ -116,6 +117,7 @@ void i915_user_irq_on(drm_i915_private_t *dev_priv)
void i915_user_irq_off(drm_i915_private_t *dev_priv)
{
+ return;
spin_lock(&dev_priv->user_irq_lock);
if (dev_priv->irq_enabled && (--dev_priv->user_irq_refcount == 0)) {
dev_priv->irq_enable_reg &= ~USER_INT_FLAG;
@@ -239,7 +241,7 @@ static int i915_enable_interrupt (drm_device_t *dev)
dev_priv->user_irq_lock = SPIN_LOCK_UNLOCKED;
dev_priv->user_irq_refcount = 0;
dev_priv->irq_enable_reg = flag;
- I915_WRITE16(I915REG_INT_ENABLE_R, flag);
+ I915_WRITE16(I915REG_INT_ENABLE_R, flag | USER_INT_FLAG);
dev_priv->irq_enabled = 1;
return 0;
}