linux/drivers/gpu/drm/i915
Eric Anholt cdfbc41f6d drm/i915: Remove IMR masking during interrupt handler, and restart it if needed.
The IMR masking was a technique recommended for avoiding getting stuck with
no interrupts generated again in MSI mode.  It kept new IIR bits from getting
set between the IIR read and the IIR write, which would have otherwise
prevented an MSI from ever getting generated again.  However, this caused a
problem for vblank as the IMR mask would keep the pipe event interrupt from
getting reflected in IIR, even after the IMR mask was brought back down.

Instead, just check the state of IIR after we ack the interrupts we're going
to handle, and restart if we didn't get IIR all the way to zero.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-11-25 09:27:43 +10:00
..
i915_dma.c drm/i915: Move legacy breadcrumb out of the reserved status page area 2008-11-11 18:03:28 +10:00
i915_drv.c drm: Add GEM ("graphics execution manager") to i915 driver. 2008-10-18 07:10:12 +10:00
i915_drv.h drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR. 2008-11-25 09:27:24 +10:00
i915_gem_debug.c drm: Add GEM ("graphics execution manager") to i915 driver. 2008-10-18 07:10:12 +10:00
i915_gem_proc.c i915: Don't dereference HWS in /proc debug files when it isn't initialized. 2008-10-23 13:42:27 +10:00
i915_gem_tiling.c i915: GM45 has GM965-style MCH setup. 2008-10-18 07:10:53 +10:00
i915_gem.c i915: Don't attempt to short-circuit object_wait_rendering by checking domains. 2008-11-11 17:43:26 +10:00
i915_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i915_irq.c drm/i915: Remove IMR masking during interrupt handler, and restart it if needed. 2008-11-25 09:27:43 +10:00
i915_mem.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i915_opregion.c drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR. 2008-11-25 09:27:24 +10:00
i915_reg.h i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45 2008-11-11 17:42:19 +10:00
i915_suspend.c i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45 2008-11-11 17:42:19 +10:00
Makefile build fix: CONFIG_DRM_I915=y && CONFIG_ACPI=n 2008-10-28 07:46:06 +10:00