drm/i915: Don't access snooped pages through the GTT (even for error capture)
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 30 Jan 2014 14:38:16 +0000 (14:38 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 30 Jan 2014 16:25:39 +0000 (17:25 +0100)
commit8b6124a633d8095b0c8364f585edff9c59568a96
tree3ffc006483d7325bd1f4f97d74703a320c5b245e
parent53a4c6b26ddef1f2969f8bc17178bcda4782d18d
drm/i915: Don't access snooped pages through the GTT (even for error capture)

We want to use the GTT for reading back objects upon an error so that we
have exactly the information that the GPU saw. However, it is verboten
to access snoopable pages through the GTT and causes my PineView GPU to
throw a page fault instead.

This has not been a problem in the past as we only dumped ringbuffers
and batchbuffers, both of which must be not snooped. However, the
introduction of HWS page dumping leads to a read of a snooped object
through the GTT. This was introduced by

commit f3ce3821393e31a3f1a8ca6c24eb2d735a428445
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jan 23 22:40:36 2014 +0000

    drm/i915: Include HW status page in error capture

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[danvet:s/uncached/not snooped/ for one case in the commit message as
requested by Chris.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gpu_error.c