[PATCH v4 6/6] drm/xe/pf: Invalidate LMTT after completing changes

Piotr Piórkowski piotr.piorkowski at intel.com
Tue Jul 15 07:19:58 UTC 2025


Michal Wajdeczko <michal.wajdeczko at intel.com> wrote on pią [2025-lip-11 21:33:16 +0200]:
> Once we finish populating all leaf pages in the VF's LMTT we should
> make sure that hardware will not access any stale data. Explicitly
> force LMTT invalidation (as it was already planned in the past).
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Michał Winiarski <michal.winiarski at intel.com>
> Cc: Piotr Piórkowski <piotr.piorkowski at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> index 86dade6f1083..0e1c1c19e011 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> @@ -1347,7 +1347,17 @@ static int pf_distribute_config_lmem(struct xe_gt *gt, unsigned int vfid, u64 si
>  
>  static void pf_force_lmtt_invalidate(struct xe_device *xe)
>  {
> -	/* TODO */
> +	struct xe_lmtt *lmtt;
> +	struct xe_tile *tile;
> +	unsigned int tid;
> +
> +	xe_assert(xe, xe_device_has_lmtt(xe));
> +	xe_assert(xe, IS_SRIOV_PF(xe));
> +
> +	for_each_tile(tile, xe, tid) {
> +		lmtt = &tile->sriov.pf.lmtt;
> +		xe_lmtt_invalidate_hw(lmtt);
> +	}
>  }

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski at intel.com>

>  
>  static void pf_reset_vf_lmtt(struct xe_device *xe, unsigned int vfid)
> -- 
> 2.47.1
> 

-- 


More information about the Intel-xe mailing list