]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/pxp: Add missing tag for Wa_14019159160
authorAlan Previn <alan.previn.teres.alexis@intel.com>
Wed, 16 Oct 2024 00:16:58 +0000 (17:16 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 18 Oct 2024 15:00:33 +0000 (11:00 -0400)
Add missing tag for "Wa_14019159160 - Case 2" (for existing
PXP code that ensures run alone mode bit is set to allow
PxP-decryption.

 v5: - remove the max IP_VER check since new platforms that
       i915 supports needs this fix and tag the caller too
       (John Harrison).
 v4: - Include IP_VER 12.71. (Matt Roper)
 v3: - Check targeted platforms using IP_VAL. (John Harrison)
 v2: - Fix WA id number (John Harrison).
     - Improve comments and code to be specific
       for the targeted platforms (John Harrison)

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241016001658.2671225-1-alan.previn.teres.alexis@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gt/intel_lrc.c

index 7bd5d2c290564fbb6930e7d5c97946c04a000ea9..51847a846002ef1cf0c53d2a503d1e5170354740 100644 (file)
@@ -820,8 +820,10 @@ static bool ctx_needs_runalone(const struct intel_context *ce)
        bool ctx_is_protected = false;
 
        /*
-        * On MTL and newer platforms, protected contexts require setting
-        * the LRC run-alone bit or else the encryption will not happen.
+        * Wa_14019159160 - Case 2.
+        * On some platforms, protected contexts require setting
+        * the LRC run-alone bit or else the encryption/decryption will not happen.
+        * NOTE: Case 2 only applies to PXP use-case of said workaround.
         */
        if (GRAPHICS_VER_FULL(ce->engine->i915) >= IP_VER(12, 70) &&
            (ce->engine->class == COMPUTE_CLASS || ce->engine->class == RENDER_CLASS)) {
@@ -850,6 +852,7 @@ static void init_common_regs(u32 * const regs,
        if (GRAPHICS_VER(engine->i915) < 11)
                ctl |= _MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_SAVE_INHIBIT |
                                           CTX_CTRL_RS_CTX_ENABLE);
+       /* Wa_14019159160 - Case 2.*/
        if (ctx_needs_runalone(ce))
                ctl |= _MASKED_BIT_ENABLE(GEN12_CTX_CTRL_RUNALONE_MODE);
        regs[CTX_CONTEXT_CONTROL] = ctl;