Merge branch 'upstream' into max-sect
[pandora-kernel.git] / drivers / char / drm / i915_irq.c
index a1381c6..a752afd 100644 (file)
@@ -53,6 +53,8 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
 
        I915_WRITE16(I915REG_INT_IDENTITY_R, temp);
 
+       dev_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
+
        if (temp & USER_INT_FLAG)
                DRM_WAKEUP(&dev_priv->irq_queue);
 
@@ -202,10 +204,15 @@ void i915_driver_irq_postinstall(drm_device_t * dev)
 void i915_driver_irq_uninstall(drm_device_t * dev)
 {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
+       u16 temp;
+
        if (!dev_priv)
                return;
 
        I915_WRITE16(I915REG_HWSTAM, 0xffff);
        I915_WRITE16(I915REG_INT_MASK_R, 0xffff);
        I915_WRITE16(I915REG_INT_ENABLE_R, 0x0);
+
+       temp = I915_READ16(I915REG_INT_IDENTITY_R);
+       I915_WRITE16(I915REG_INT_IDENTITY_R, temp);
 }