diff options
author | Oscar Mateo <oscar.mateo@intel.com> | 2018-05-08 17:29:28 -0400 |
---|---|---|
committer | Mika Kuoppala <mika.kuoppala@linux.intel.com> | 2018-05-11 08:55:52 -0400 |
commit | 5246ae4bdb4ceae9778a7966db1d9522c6cb0ea7 (patch) | |
tree | 4b271af8de255cd1972f746559fad58cb5810e78 | |
parent | f4a357140a5693bfb0ab4e6608b7118a288a9ba9 (diff) |
drm/i915/icl: WaDisableCleanEvicts
Avoids an undefined LLC behavior.
BSpec: 9613
v2: Renamed to Wa_1405733216
v3: Spaces around '<<' and fix surrounding code
v4: Rebased on top of the WA refactoring
v5: Added References (Mika)
v6:
- Rebased
- C, not lisp (Chris)
References: HSDES#1405733216
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1525814984-20039-7-git-send-email-oscar.mateo@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_workarounds.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 7fe505ce5888..a7bd739fde82 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -7232,8 +7232,9 @@ enum { | |||
7232 | #define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27) | 7232 | #define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27) |
7233 | 7233 | ||
7234 | #define GEN8_L3SQCREG4 _MMIO(0xb118) | 7234 | #define GEN8_L3SQCREG4 _MMIO(0xb118) |
7235 | #define GEN8_LQSC_RO_PERF_DIS (1<<27) | 7235 | #define GEN11_LQSC_CLEAN_EVICT_DISABLE (1 << 6) |
7236 | #define GEN8_LQSC_FLUSH_COHERENT_LINES (1<<21) | 7236 | #define GEN8_LQSC_RO_PERF_DIS (1 << 27) |
7237 | #define GEN8_LQSC_FLUSH_COHERENT_LINES (1 << 21) | ||
7237 | 7238 | ||
7238 | /* GEN8 chicken */ | 7239 | /* GEN8 chicken */ |
7239 | #define HDC_CHICKEN0 _MMIO(0x7300) | 7240 | #define HDC_CHICKEN0 _MMIO(0x7300) |
diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c index 2561c55043c5..7e8bcc2ae091 100644 --- a/drivers/gpu/drm/i915/intel_workarounds.c +++ b/drivers/gpu/drm/i915/intel_workarounds.c | |||
@@ -720,6 +720,12 @@ static void icl_gt_workarounds_apply(struct drm_i915_private *dev_priv) | |||
720 | I915_WRITE(GEN11_GACB_PERF_CTRL, | 720 | I915_WRITE(GEN11_GACB_PERF_CTRL, |
721 | (I915_READ(GEN11_GACB_PERF_CTRL) & ~GEN11_HASH_CTRL_MASK) | | 721 | (I915_READ(GEN11_GACB_PERF_CTRL) & ~GEN11_HASH_CTRL_MASK) | |
722 | GEN11_HASH_CTRL_BIT0 | GEN11_HASH_CTRL_BIT4); | 722 | GEN11_HASH_CTRL_BIT0 | GEN11_HASH_CTRL_BIT4); |
723 | |||
724 | /* Wa_1405733216:icl | ||
725 | * Formerly known as WaDisableCleanEvicts | ||
726 | */ | ||
727 | I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) | | ||
728 | GEN11_LQSC_CLEAN_EVICT_DISABLE); | ||
723 | } | 729 | } |
724 | 730 | ||
725 | void intel_gt_workarounds_apply(struct drm_i915_private *dev_priv) | 731 | void intel_gt_workarounds_apply(struct drm_i915_private *dev_priv) |