]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915/icl: Whitelist GEN9_SLICE_COMMON_ECO_CHICKEN1
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Thu, 18 Apr 2019 10:06:34 +0000 (11:06 +0100)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 30 Apr 2019 06:50:58 +0000 (07:50 +0100)
WaEnableStateCacheRedirectToCS context workaround configures the L3 cache
to benefit 3d workloads but media has different requirements.

Remove the workaround and whitelist the register to allow any userspace
configure the behaviour to their liking.

v2:
 * Remove the workaround apart from adding the whitelist.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: kevin.ma@intel.com
Cc: xiaogang.li@intel.com
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Anuj Phogat <anuj.phogat@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190418100634.984-1-tvrtko.ursulin@linux.intel.com
Fixes: f63c7b4880aa ("drm/i915/icl: WaEnableStateCacheRedirectToCS")
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
[tursulin: Anuj reported no GPU hangs or performance regressions with old
 Mesa on patched kernel.]

drivers/gpu/drm/i915/gt/intel_workarounds.c

index 5751446a4b0baa82e039697747e8372516b4901d..43e29030655169001414c7ab37b9cf2f1236d4e0 100644 (file)
@@ -556,10 +556,6 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine)
                WA_SET_BIT_MASKED(GEN7_ROW_CHICKEN2,
                                  GEN11_TDL_CLOCK_GATING_FIX_DISABLE);
 
-       /* WaEnableStateCacheRedirectToCS:icl */
-       WA_SET_BIT_MASKED(GEN9_SLICE_COMMON_ECO_CHICKEN1,
-                         GEN11_STATE_CACHE_REDIRECT_TO_CS);
-
        /* Wa_2006665173:icl (pre-prod) */
        if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_A0))
                WA_SET_BIT_MASKED(GEN11_COMMON_SLICE_CHICKEN3,
@@ -1070,6 +1066,9 @@ static void icl_whitelist_build(struct i915_wa_list *w)
 
        /* WaAllowUMDToModifySamplerMode:icl */
        whitelist_reg(w, GEN10_SAMPLER_MODE);
+
+       /* WaEnableStateCacheRedirectToCS:icl */
+       whitelist_reg(w, GEN9_SLICE_COMMON_ECO_CHICKEN1);
 }
 
 void intel_engine_init_whitelist(struct intel_engine_cs *engine)