Don't clear USER_INTERRUPT if we're not handling it.
authorEric Anholt <eric@anholt.net>
Thu, 12 Jun 2008 17:56:37 +0000 (10:56 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 12 Jun 2008 17:56:37 +0000 (10:56 -0700)
This fixes a regression from commit d434b64f6a760d85295e32298a9a1f3624ee1b69
which could cause us to fail to wake up for user interrupts if we lost a race.

shared-core/i915_irq.c

index 0125f8b..39da814 100644 (file)
@@ -507,7 +507,7 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
        if (dev_priv->sarea_priv)
            dev_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
 
-       I915_WRITE(I915REG_INT_IDENTITY_R, iir | I915_USER_INTERRUPT);
+       I915_WRITE(I915REG_INT_IDENTITY_R, iir);
        (void) I915_READ(I915REG_INT_IDENTITY_R); /* Flush posted write */
 
        if (iir & I915_USER_INTERRUPT) {