[PATCH 2/5] drm/xe/reg_sr: Write all whitelist slots
Matt Roper
matthew.d.roper at intel.com
Thu Dec 5 19:25:45 UTC 2024
On Thu, Dec 05, 2024 at 10:22:37AM -0800, Lucas De Marchi wrote:
> Currently if there's 1 whitelisted register in the engine, on slot is
> written with that register and all the others are written to a sane
> value. For the free slots, there's no reason to change the behavior
> if there are 0, 1 or slots occupied. If the default value from HW is not
> trusted, all values should be written to.
>
> Also, later on all values are passed to GuC via ADS to be restored on
> engine reset, so make sure they are also written to when probing the
> device.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
I don't think it really matters too much one way or another. There's no
enabled/disabled setting for the force_to_nonpriv registers so we
replace the hardware-defined "garbage" value with our own "garbage"
value for the ununsed entries, but what really matters are the ones that
are set.
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/xe/xe_reg_sr.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
> index c13123008e903..f982c1cdb369c 100644
> --- a/drivers/gpu/drm/xe/xe_reg_sr.c
> +++ b/drivers/gpu/drm/xe/xe_reg_sr.c
> @@ -204,9 +204,6 @@ void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe)
> unsigned int slot = 0;
> unsigned int fw_ref;
>
> - if (xa_empty(&sr->xa))
> - return;
> -
> drm_dbg(&xe->drm, "Whitelisting %s registers\n", sr->name);
>
> fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
> --
> 2.47.0
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list