summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gpu_error.c
diff options
context:
space:
mode:
authorBen Widawsky2014-01-30 09:19:39 +0100
committerDaniel Vetter2014-01-30 13:00:24 +0100
commit91ec5d11ab6fea7eafd0364b77cd39baf60cd8e3 (patch)
treef032caf49853e1b016214125ac9ffc9b8ea4e5e9 /drivers/gpu/drm/i915/i915_gpu_error.c
parentdrm/i915: Move per ring error state to ring_error (diff)
downloadkernel-qcow2-linux-91ec5d11ab6fea7eafd0364b77cd39baf60cd8e3.tar.gz
kernel-qcow2-linux-91ec5d11ab6fea7eafd0364b77cd39baf60cd8e3.tar.xz
kernel-qcow2-linux-91ec5d11ab6fea7eafd0364b77cd39baf60cd8e3.zip
drm/i915: Add some more registers to error state
Chris: Do we also want to capture? GAC_ECO_BITS /* gen6,7 */ GAM_ECOCHK /* gen6,7 */ GAB_CTL /* gen6 */ GFX_MODE /* gen6 */ Requested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gpu_error.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gpu_error.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 58ef6d80b569..70a7cd77afb2 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1001,8 +1001,11 @@ static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
if (IS_GEN7(dev))
error->err_int = I915_READ(GEN7_ERR_INT);
- if (IS_GEN6(dev))
+ if (IS_GEN6(dev)) {
error->forcewake = I915_READ(FORCEWAKE);
+ error->gab_ctl = I915_READ(GAB_CTL);
+ error->gfx_mode = I915_READ(GFX_MODE);
+ }
if (IS_GEN2(dev))
error->ier = I915_READ16(IER);
@@ -1018,6 +1021,12 @@ static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
}
/* 3: Feature specific registers */
+ if (IS_GEN6(dev) || IS_GEN7(dev)) {
+ error->gam_ecochk = I915_READ(GAM_ECOCHK);
+ error->gac_eco = I915_READ(GAC_ECO_BITS);
+ }
+
+ /* 4: Everything else */
if (HAS_HW_CONTEXTS(dev))
error->ccid = I915_READ(CCID);