Quoting Andi Shyti (2025-03-25 13:01:37)
> When generating workarounds for the CCS engine, specifically for
> setting the CCS mode related to compute load balancing, the
> function 'ccs_engine_wa_mode()' is called twice: once for the
> render engine and once for the compute engine.
> 
> Add a check to ensure the engine class is compute before applying
> the workaround to avoid redundant programming.
> 
> Suggested-by: Arshad Mehmood <arshad.mehm...@intel.com>
> Signed-off-by: Andi Shyti <andi.sh...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 116683ebe074..37251546b755 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -2897,7 +2897,9 @@ engine_init_workarounds(struct intel_engine_cs *engine, 
> struct i915_wa_list *wal
>          */
>         if (engine->flags & I915_ENGINE_FIRST_RENDER_COMPUTE) {
>                 general_render_compute_wa_init(engine, wal);
> -               ccs_engine_wa_mode(engine, wal);
> +
> +               if (engine->class == COMPUTE_CLASS)
> +                       ccs_engine_wa_mode(engine, wal);

FIRST_RENDER_COMPUTE is meant to only be on the first engine of either
rcs or ccs (which share certain register domains), one engine.

It looks like that was broken by

        commit 1bfc03b1375244f9029bb448ee8224b3b6dae99f
        Author: Lucas De Marchi <lucas.demar...@intel.com>
        Date:   Tue Mar 19 23:03:03 2024 -0700

            drm/i915: Remove special handling for !RCS_MASK()

-Chris

Reply via email to