drm/i915: Handle unmappable buffers during error state capture
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 14 Dec 2011 12:57:25 +0000 (13:57 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 31 Jan 2012 20:02:54 +0000 (21:02 +0100)
commit172975aa746e155533cb386c7159c2d6510e2bc8
tree9e511dfba94c1d1ed6919d141610296507e3b6de
parent8461d2267726dddcb9b5d6ae6b32769b38a326cc
drm/i915: Handle unmappable buffers during error state capture

As the buffer is not necessarily accessible through the GTT at the time
of a GPU hang, and capturing some of its contents is far more valuable
than skipping it, provide a clflushed fallback read path. We still
prefer to read through the GTT as that is more consistent with the GPU
access of the same buffer. So example it will demonstrate any errorneous
tiling or swizzling of the command buffer as seen by the GPU.

This becomes necessary with use of CPU relocations and lazy GTT binding,
but could potentially happen anyway as a result of a pathological error.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c