OSDN Git Service

clear i915 interrupts sources on server exit
authorDave Airlie <airlied@linux.ie>
Sat, 18 Feb 2006 04:13:36 +0000 (04:13 +0000)
committerDave Airlie <airlied@linux.ie>
Sat, 18 Feb 2006 04:13:36 +0000 (04:13 +0000)
shared-core/i915_irq.c

index 91e9573..3e26941 100644 (file)
@@ -204,10 +204,14 @@ 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_WRITE(I915REG_INT_IDENTITY_R, temp);
 }