drm/i915: Clear out old GT FIFO errors in intel_uncore_early_sanitize()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 3 Dec 2013 09:30:09 +0000 (11:30 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Dec 2013 09:41:06 +0000 (10:41 +0100)
The BIOS or someone else might have done something bad and there
might be old GT FIFO erros reported in GTFIFODBG. Clear those out
in intel_uncore_early_sanitize() to make sure we don't mistake them
for our problems.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_uncore.c

index 8102af9a178dc45ad8370c1d061c5815d927c34c..32527a74dc469fed7b8e03eced4c0e22415a9de3 100644 (file)
@@ -332,6 +332,11 @@ void intel_uncore_early_sanitize(struct drm_device *dev)
                DRM_INFO("Found %zuMB of eLLC\n", dev_priv->ellc_size);
        }
 
+       /* clear out old GT FIFO errors */
+       if (IS_GEN6(dev) || IS_GEN7(dev))
+               __raw_i915_write32(dev_priv, GTFIFODBG,
+                                  __raw_i915_read32(dev_priv, GTFIFODBG));
+
        intel_uncore_forcewake_reset(dev);
 }