drm/i915: Shut down PCH interrupts during irq_uninstall
authorKeith Packard <keithp@keithp.com>
Tue, 20 Sep 2011 17:12:44 +0000 (10:12 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 30 Sep 2011 22:30:41 +0000 (15:30 -0700)
This masks out all interrupts and ack's any pending ones at IRQ
uninstall time to make sure we don't receive any unexpected interrupts
later on.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c

index c22823bbf9f08768196fe6402b3596365af0de9c..adeab2a9f1fb212f12693790f89f4e77e59fb561 100644 (file)
@@ -2044,6 +2044,10 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
        I915_WRITE(GTIMR, 0xffffffff);
        I915_WRITE(GTIER, 0x0);
        I915_WRITE(GTIIR, I915_READ(GTIIR));
+
+       I915_WRITE(SDEIMR, 0xffffffff);
+       I915_WRITE(SDEIER, 0x0);
+       I915_WRITE(SDEIIR, I915_READ(SDEIIR));
 }
 
 static void i915_driver_irq_uninstall(struct drm_device * dev)