OSDN Git Service

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)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Tue, 30 Apr 2019 07:16:18 +0000 (10:16 +0300)
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.]
(cherry picked from commit 0fc2273b9ab7f07cdef448e99525e481535e1ab0)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/intel_workarounds.c

index ccaf636..9682dd5 100644 (file)
@@ -541,10 +541,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,
@@ -1050,6 +1046,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)