drm/i915: Clear scanline waits after disabling the pipe.
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 8 Aug 2010 10:53:53 +0000 (11:53 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 8 Sep 2010 10:29:58 +0000 (11:29 +0100)
commit4b60e5cb707aa1d44fd01680296a2caf45dd6fae
tree00a10018f8fd4b2ae04d5df373006f266257351d
parent37811fcc9188f748407646e1157f3ed24ae181a4
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>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c