OSDN Git Service

drm/i915/dg2: Add Wa_16013000631
authorRamalingam C <ramalingam.c@intel.com>
Tue, 16 Nov 2021 17:48:17 +0000 (09:48 -0800)
committerMatt Roper <matthew.d.roper@intel.com>
Fri, 3 Dec 2021 05:38:38 +0000 (21:38 -0800)
Invalidate IC cache through pipe control command as part of the ctx
restore flow through indirect ctx pointer.

v2:
 - Move pipe control from xcs indirect context to the rcs indirect
   context.  We'll eventually need this on the CCS engines too, but
   support for those hasn't landed yet.

Cc: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211116174818.2128062-5-matthew.d.roper@intel.com
drivers/gpu/drm/i915/gt/intel_lrc.c

index 56156cf..b348959 100644 (file)
@@ -1167,6 +1167,11 @@ gen12_emit_indirect_ctx_rcs(const struct intel_context *ce, u32 *cs)
        cs = gen12_emit_cmd_buf_wa(ce, cs);
        cs = gen12_emit_restore_scratch(ce, cs);
 
+       /* Wa_16013000631:dg2 */
+       if (IS_DG2_GRAPHICS_STEP(ce->engine->i915, G10, STEP_B0, STEP_C0) ||
+           IS_DG2_G11(ce->engine->i915))
+               cs = gen8_emit_pipe_control(cs, PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE, 0);
+
        return cs;
 }