Commit ba3d8257 authored by Matt Roper's avatar Matt Roper
Browse files

drm/i915: Ensure wa_init_finish() is called for ctx workaround list



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: default avatarTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Fixes: 9e9dfd08 ("drm/i915/dg2: Maintain backward-compatible nested batch behavior")
Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210826033559.1209020-1-matthew.d.roper@intel.com
parent f3ede209
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
}