]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/i915/mtl: Extend Wa_22011802037 to MTL A-step
authorMadhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
Tue, 18 Apr 2023 22:04:45 +0000 (15:04 -0700)
committerRadhakrishna Sripada <radhakrishna.sripada@intel.com>
Wed, 19 Apr 2023 22:33:32 +0000 (15:33 -0700)
Wa_22011802037 was being applied to all graphics_ver 11 & 12. This patch
updates the if statement to apply the W/A to right platforms and extends
it to MTL-M:A step.

v1.1: Fix checkpatch warning.
v2: Change the check to reflect the wa at other places(Lucas)

Bspec: 66622
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230418220446.2205509-4-radhakrishna.sripada@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c

index 88e881b100cf0a572b903d00f6ed909dffc2a784..ee3e8352637f28fab73028fdd919b34cd09d730a 100644 (file)
@@ -1629,16 +1629,16 @@ static void guc_reset_state(struct intel_context *ce, u32 head, bool scrub)
 
 static void guc_engine_reset_prepare(struct intel_engine_cs *engine)
 {
-       if (!IS_GRAPHICS_VER(engine->i915, 11, 12))
-               return;
-
-       intel_engine_stop_cs(engine);
-
        /*
         * Wa_22011802037: In addition to stopping the cs, we need
         * to wait for any pending mi force wakeups
         */
-       intel_engine_wait_for_pending_mi_fw(engine);
+       if (IS_MTL_GRAPHICS_STEP(engine->i915, M, STEP_A0, STEP_B0) ||
+           (GRAPHICS_VER(engine->i915) >= 11 &&
+            GRAPHICS_VER_FULL(engine->i915) < IP_VER(12, 70))) {
+               intel_engine_stop_cs(engine);
+               intel_engine_wait_for_pending_mi_fw(engine);
+       }
 }
 
 static void guc_reset_nop(struct intel_engine_cs *engine)