]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/i915: Ensure wa_init_finish() is called for ctx workaround list
authorMatt Roper <matthew.d.roper@intel.com>
Thu, 26 Aug 2021 03:35:59 +0000 (20:35 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Fri, 27 Aug 2021 04:08:14 +0000 (21:08 -0700)
A recent restructuring of our context workaround list initialization
added an early return for non-render engines; this caused us to
potentially miss the wa_init_finish() call at the end of the function.
The mistake is pretty harmless --- the only impact is that non-render
engines on graphics version 12.50+ platforms we don't trim down the
workaround list to reclaim some memory, and we don't print the usual
"Initialized 1 context workaround" message in dmesg.  Let's change the
early return to a jump down to the wa_init_finish() call at the bottom
of the function.

Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Fixes: 9e9dfd080201 ("drm/i915/dg2: Maintain backward-compatible nested batch behavior")
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210826033559.1209020-1-matthew.d.roper@intel.com
drivers/gpu/drm/i915/gt/intel_workarounds.c

index 688ed04edbf6044bc6257efb7e67300943f335ed..94e1937f8d296f270d5085cc1d6358034f79f897 100644 (file)
@@ -689,7 +689,7 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine,
                fakewa_disable_nestedbb_mode(engine, wal);
 
        if (engine->class != RENDER_CLASS)
-               return;
+               goto done;
 
        if (IS_DG1(i915))
                dg1_ctx_workarounds_init(engine, wal);
@@ -720,6 +720,7 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine,
        else
                MISSING_CASE(GRAPHICS_VER(i915));
 
+done:
        wa_init_finish(wal);
 }