aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Mateo <oscar.mateo@intel.com>2018-05-08 17:29:29 -0400
committerMika Kuoppala <mika.kuoppala@linux.intel.com>2018-05-11 08:56:08 -0400
commit6b967dc392090831954644549676409ca22fe8bf (patch)
tree27617e2633cae9c8915333616f713fb352af577c
parent5246ae4bdb4ceae9778a7966db1d9522c6cb0ea7 (diff)
drm/i915/icl: WaCL2SFHalfMaxAlloc
This workarounds an issue with insufficient storage for the CL2 and SF units. v2: Renamed to Wa_1405766107 v3: Wrapped the commit message v4: Rebased on top of the WA refactoring v5: Added References (Mika) v6: - Rebased - s/MACALLOC/MAXALLOC (Mika) - C, not lisp (Chris) References: HSDES#1405766107 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-8-git-send-email-oscar.mateo@intel.com
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h4
-rw-r--r--drivers/gpu/drm/i915/intel_workarounds.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index a7bd739fde82..d325fad480f0 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -8269,6 +8269,10 @@ enum {
8269#define GEN11_HASH_CTRL_BIT0 (1 << 0) 8269#define GEN11_HASH_CTRL_BIT0 (1 << 0)
8270#define GEN11_HASH_CTRL_BIT4 (1 << 12) 8270#define GEN11_HASH_CTRL_BIT4 (1 << 12)
8271 8271
8272#define GEN11_LSN_UNSLCVC _MMIO(0xB43C)
8273#define GEN11_LSN_UNSLCVC_GAFS_HALF_CL2_MAXALLOC (1 << 9)
8274#define GEN11_LSN_UNSLCVC_GAFS_HALF_SF_MAXALLOC (1 << 7)
8275
8272/* IVYBRIDGE DPF */ 8276/* IVYBRIDGE DPF */
8273#define GEN7_L3CDERRST1(slice) _MMIO(0xB008 + (slice) * 0x200) /* L3CD Error Status 1 */ 8277#define GEN7_L3CDERRST1(slice) _MMIO(0xB008 + (slice) * 0x200) /* L3CD Error Status 1 */
8274#define GEN7_L3CDERRST1_ROW_MASK (0x7ff<<14) 8278#define GEN7_L3CDERRST1_ROW_MASK (0x7ff<<14)
diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c
index 7e8bcc2ae091..a6758bdd74dd 100644
--- a/drivers/gpu/drm/i915/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/intel_workarounds.c
@@ -726,6 +726,13 @@ static void icl_gt_workarounds_apply(struct drm_i915_private *dev_priv)
726 */ 726 */
727 I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) | 727 I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) |
728 GEN11_LQSC_CLEAN_EVICT_DISABLE); 728 GEN11_LQSC_CLEAN_EVICT_DISABLE);
729
730 /* Wa_1405766107:icl
731 * Formerly known as WaCL2SFHalfMaxAlloc
732 */
733 I915_WRITE(GEN11_LSN_UNSLCVC, I915_READ(GEN11_LSN_UNSLCVC) |
734 GEN11_LSN_UNSLCVC_GAFS_HALF_SF_MAXALLOC |
735 GEN11_LSN_UNSLCVC_GAFS_HALF_CL2_MAXALLOC);
729} 736}
730 737
731void intel_gt_workarounds_apply(struct drm_i915_private *dev_priv) 738void intel_gt_workarounds_apply(struct drm_i915_private *dev_priv)