Commit 297b32ec authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Ignore GTFIFODBG FIFO free entry fields on CHV

On CHV GTFIFODBG has some read-only bits to indicate the number
of free FIFO entries. Ignore these when checking to see if any
of the sticky error bits are set.

This gets rid of these during device resume:
[drm:cherryview_enable_rps] GT fifo had a previous error 1080000

While at it, move the assignments out of the if().

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1460570970-14073-1-git-send-email-ville.syrjala@linux.intel.comReviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 0ccdacf6
...@@ -6866,6 +6866,8 @@ enum skl_disp_power_wells { ...@@ -6866,6 +6866,8 @@ enum skl_disp_power_wells {
#define VLV_SPAREG2H _MMIO(0xA194) #define VLV_SPAREG2H _MMIO(0xA194)
#define GTFIFODBG _MMIO(0x120000) #define GTFIFODBG _MMIO(0x120000)
#define GT_FIFO_SBDEDICATE_FREE_ENTRY_CHV (0x1f << 20)
#define GT_FIFO_FREE_ENTRIES_CHV (0x7f << 13)
#define GT_FIFO_SBDROPERR (1<<6) #define GT_FIFO_SBDROPERR (1<<6)
#define GT_FIFO_BLOBDROPERR (1<<5) #define GT_FIFO_BLOBDROPERR (1<<5)
#define GT_FIFO_SB_READ_ABORTERR (1<<4) #define GT_FIFO_SB_READ_ABORTERR (1<<4)
......
...@@ -4997,7 +4997,8 @@ static void gen6_enable_rps(struct drm_device *dev) ...@@ -4997,7 +4997,8 @@ static void gen6_enable_rps(struct drm_device *dev)
I915_WRITE(GEN6_RC_STATE, 0); I915_WRITE(GEN6_RC_STATE, 0);
/* Clear the DBG now so we don't confuse earlier errors */ /* Clear the DBG now so we don't confuse earlier errors */
if ((gtfifodbg = I915_READ(GTFIFODBG))) { gtfifodbg = I915_READ(GTFIFODBG);
if (gtfifodbg) {
DRM_ERROR("GT fifo had a previous error %x\n", gtfifodbg); DRM_ERROR("GT fifo had a previous error %x\n", gtfifodbg);
I915_WRITE(GTFIFODBG, gtfifodbg); I915_WRITE(GTFIFODBG, gtfifodbg);
} }
...@@ -5528,7 +5529,8 @@ static void cherryview_enable_rps(struct drm_device *dev) ...@@ -5528,7 +5529,8 @@ static void cherryview_enable_rps(struct drm_device *dev)
WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
gtfifodbg = I915_READ(GTFIFODBG); gtfifodbg = I915_READ(GTFIFODBG) & ~(GT_FIFO_SBDEDICATE_FREE_ENTRY_CHV |
GT_FIFO_FREE_ENTRIES_CHV);
if (gtfifodbg) { if (gtfifodbg) {
DRM_DEBUG_DRIVER("GT fifo had a previous error %x\n", DRM_DEBUG_DRIVER("GT fifo had a previous error %x\n",
gtfifodbg); gtfifodbg);
...@@ -5627,7 +5629,8 @@ static void valleyview_enable_rps(struct drm_device *dev) ...@@ -5627,7 +5629,8 @@ static void valleyview_enable_rps(struct drm_device *dev)
valleyview_check_pctx(dev_priv); valleyview_check_pctx(dev_priv);
if ((gtfifodbg = I915_READ(GTFIFODBG))) { gtfifodbg = I915_READ(GTFIFODBG);
if (gtfifodbg) {
DRM_DEBUG_DRIVER("GT fifo had a previous error %x\n", DRM_DEBUG_DRIVER("GT fifo had a previous error %x\n",
gtfifodbg); gtfifodbg);
I915_WRITE(GTFIFODBG, gtfifodbg); I915_WRITE(GTFIFODBG, gtfifodbg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment