aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValtteri Rantala <valtteri.rantala@intel.com>2017-11-28 09:45:05 -0500
committerImre Deak <imre.deak@intel.com>2017-11-30 06:32:51 -0500
commit7436830c8d1a3aab61d131d5e0494e2dbb9e55bd (patch)
treed880812a8c4a5449b84695db5b605c98ca40ab3b
parentcc44085616a94a998dc8f708e37ec9df2df97a87 (diff)
drm/i915/glk: Apply WaProgramL3SqcReg1DefaultForPerf for GLK too
Testing the texture read performance shows that the same tuning for the SQ credits is needed on GLK as on BXT/APL. This has been also confirmed by Altug from the HW team. V4: Rebase + fix Signed-off-by: Valtteri Rantala <valtteri.rantala@intel.com> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com> (v1) Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1511880305-12166-1-git-send-email-valtteri.rantala@intel.com
-rw-r--r--drivers/gpu/drm/i915/intel_engine_cs.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index cffd0c812b7e..86d4c85c8725 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1067,6 +1067,15 @@ static int gen9_init_workarounds(struct intel_engine_cs *engine)
1067 /* WaDisableSTUnitPowerOptimization:skl,bxt,kbl,glk,cfl */ 1067 /* WaDisableSTUnitPowerOptimization:skl,bxt,kbl,glk,cfl */
1068 WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN2, GEN8_ST_PO_DISABLE); 1068 WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN2, GEN8_ST_PO_DISABLE);
1069 1069
1070 /* WaProgramL3SqcReg1DefaultForPerf:bxt,glk */
1071 if (IS_GEN9_LP(dev_priv)) {
1072 u32 val = I915_READ(GEN8_L3SQCREG1);
1073
1074 val &= ~L3_PRIO_CREDITS_MASK;
1075 val |= L3_GENERAL_PRIO_CREDITS(62) | L3_HIGH_PRIO_CREDITS(2);
1076 I915_WRITE(GEN8_L3SQCREG1, val);
1077 }
1078
1070 /* WaOCLCoherentLineFlush:skl,bxt,kbl,cfl */ 1079 /* WaOCLCoherentLineFlush:skl,bxt,kbl,cfl */
1071 I915_WRITE(GEN8_L3SQCREG4, (I915_READ(GEN8_L3SQCREG4) | 1080 I915_WRITE(GEN8_L3SQCREG4, (I915_READ(GEN8_L3SQCREG4) |
1072 GEN8_LQSC_FLUSH_COHERENT_LINES)); 1081 GEN8_LQSC_FLUSH_COHERENT_LINES));
@@ -1184,7 +1193,6 @@ static int skl_init_workarounds(struct intel_engine_cs *engine)
1184static int bxt_init_workarounds(struct intel_engine_cs *engine) 1193static int bxt_init_workarounds(struct intel_engine_cs *engine)
1185{ 1194{
1186 struct drm_i915_private *dev_priv = engine->i915; 1195 struct drm_i915_private *dev_priv = engine->i915;
1187 u32 val;
1188 int ret; 1196 int ret;
1189 1197
1190 ret = gen9_init_workarounds(engine); 1198 ret = gen9_init_workarounds(engine);
@@ -1199,12 +1207,6 @@ static int bxt_init_workarounds(struct intel_engine_cs *engine)
1199 I915_WRITE(FF_SLICE_CS_CHICKEN2, 1207 I915_WRITE(FF_SLICE_CS_CHICKEN2,
1200 _MASKED_BIT_ENABLE(GEN9_POOLED_EU_LOAD_BALANCING_FIX_DISABLE)); 1208 _MASKED_BIT_ENABLE(GEN9_POOLED_EU_LOAD_BALANCING_FIX_DISABLE));
1201 1209
1202 /* WaProgramL3SqcReg1DefaultForPerf:bxt */
1203 val = I915_READ(GEN8_L3SQCREG1);
1204 val &= ~L3_PRIO_CREDITS_MASK;
1205 val |= L3_GENERAL_PRIO_CREDITS(62) | L3_HIGH_PRIO_CREDITS(2);
1206 I915_WRITE(GEN8_L3SQCREG1, val);
1207
1208 /* WaToEnableHwFixForPushConstHWBug:bxt */ 1210 /* WaToEnableHwFixForPushConstHWBug:bxt */
1209 WA_SET_BIT_MASKED(COMMON_SLICE_CHICKEN2, 1211 WA_SET_BIT_MASKED(COMMON_SLICE_CHICKEN2,
1210 GEN8_SBE_DISABLE_REPLAY_BUF_OPTIMIZATION); 1212 GEN8_SBE_DISABLE_REPLAY_BUF_OPTIMIZATION);