[Intel-gfx] [PATCH] drm/i915: Ensure wa_init_finish() is called for ctx workaround list

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Aug 26 08:26:31 UTC 2021


On 26/08/2021 04:35, Matt Roper wrote:
> 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 at linux.intel.com>
> Fixes: 9e9dfd080201 ("drm/i915/dg2: Maintain backward-compatible nested batch behavior")
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_workarounds.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 688ed04edbf6..94e1937f8d29 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -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);
>   }
>   
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list