linux/drivers/gpu/drm/i915
Chris Wilson 4b60e5cb70 drm/i915: Clear scanline waits after disabling the pipe.
If we disable the pipe and the GPU is currently waiting on a scanline
WAIT_FOR_EVENT, the GPU will hang. Fortunately, there is a magic bit
which we can write on i915+ to break this wait after disabling the
pipe.

References:

  Bug 29252 - [Arrandale] Hung WAIT_FOR_EVENT when running rss-glx-skyrocket
  https://bugs.freedesktop.org/show_bug.cgi?id=29252

  Bug 28964 - [i965gm] GPU infinite MI_WAIT_FOR_EVENT while watching video in Totem
  https://bugs.freedesktop.org/show_bug.cgi?id=28964

and many others.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-09-08 11:29:58 +01:00
..
dvo_ch7xxx.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ch7017.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ivch.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_sil164.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_tfp410.c drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection. 2010-06-04 16:39:59 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: Show framebuffer info in debugfs 2010-09-08 11:29:58 +01:00
i915_dma.c drm/i915: Remove redundant initialisation of fb_base 2010-09-08 10:23:57 +01:00
i915_drv.c drm/i915/overlay: Move capabilities bits to common info block. 2010-09-08 10:23:42 +01:00
i915_drv.h drm/i915: Refactor panel backlight controls 2010-09-08 10:23:58 +01:00
i915_gem_debug.c drm/i915: drop pointer to drm_gem_object 2010-04-20 13:23:14 +10:00
i915_gem_evict.c drm/i915: Kill the active list spinlock 2010-09-08 10:23:56 +01:00
i915_gem_tiling.c drm: Use ENOENT consistently for the error return for an unmatched handle. 2010-08-10 10:46:55 +10:00
i915_gem.c drm/i915: Quieten sparse warnings for missing prototypes. 2010-09-08 10:23:57 +01:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Quieten sparse warnings for missing prototypes. 2010-09-08 10:23:57 +01:00
i915_mem.c
i915_reg.h drm/i915: Clear scanline waits after disabling the pipe. 2010-09-08 11:29:58 +01:00
i915_suspend.c drm/i915/suspend: s/IS_IRONLAKE/HAS_PCH_SPLIT/ 2010-08-21 23:20:21 -07:00
i915_trace_points.c
i915_trace.h drm/i915: add tracepoints for flip requests & completions 2010-07-02 14:04:14 +10:00
intel_bios.c drm/i915: Use the VBT from OpRegion when available (v3) 2010-09-08 10:13:32 +01:00
intel_bios.h drm/i915: parse eDP panel color depth from VBT block 2010-01-15 14:12:47 -08:00
intel_crt.c drm/i915/crt: Flush register prior to waiting for vblank. 2010-09-08 10:13:31 +01:00
intel_display.c drm/i915: Clear scanline waits after disabling the pipe. 2010-09-08 11:29:58 +01:00
intel_dp.c drm/i915: Quieten sparse warnings for missing prototypes. 2010-09-08 10:23:57 +01:00
intel_drv.h drm/i915: Show framebuffer info in debugfs 2010-09-08 11:29:58 +01:00
intel_dvo.c drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
intel_fb.c drm/i915: Show framebuffer info in debugfs 2010-09-08 11:29:58 +01:00
intel_hdmi.c drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
intel_i2c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
intel_lvds.c drm/i915: Refactor panel backlight controls 2010-09-08 10:23:58 +01:00
intel_modes.c Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next 2010-04-20 13:11:45 +10:00
intel_opregion.c drm/i915: Refactor panel backlight controls 2010-09-08 10:23:58 +01:00
intel_overlay.c drm/i915: Compile out error state without DEBUG_FS 2010-09-08 10:23:55 +01:00
intel_panel.c drm/i915: Refactor panel backlight controls 2010-09-08 10:23:58 +01:00
intel_ringbuffer.c drm/i915: move flushing list processing to i915_retire_commands 2010-09-08 10:23:36 +01:00
intel_ringbuffer.h drm/i915: only one interrupt per batchbuffer is not enough! 2010-09-08 10:23:35 +01:00
intel_sdvo_regs.h drm/i915/sdvo: Add missing TV filters 2010-08-09 11:24:29 -07:00
intel_sdvo.c drm/i915/sdvo: Preserve pixel-multiplier 2010-09-08 10:23:27 +01:00
intel_tv.c drm/i915/tv: After disabling the pipe, use wait_for_vblank_off() 2010-09-08 10:23:59 +01:00
Makefile drm/i915: Use the VBT from OpRegion when available (v3) 2010-09-08 10:13:32 +01:00