[PATCH 1/3] drm/xe/vf: Don't emit access to Global HWSP if VF

Piotr Piórkowski piotr.piorkowski at intel.com
Mon Apr 8 11:19:39 UTC 2024


Michal Wajdeczko <michal.wajdeczko at intel.com> wrote on pią [2024-kwi-05 15:39:34 +0200]:
> VFs can't access Global HWSP, don't emit questionable MI_FLUSH_DW
> while processing a migration job.
> 
> Bspec: 52398
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>

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

> ---
>  drivers/gpu/drm/xe/xe_ring_ops.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_ring_ops.c b/drivers/gpu/drm/xe/xe_ring_ops.c
> index 5b2b37b59813..d42b3f33bd7a 100644
> --- a/drivers/gpu/drm/xe/xe_ring_ops.c
> +++ b/drivers/gpu/drm/xe/xe_ring_ops.c
> @@ -17,6 +17,7 @@
>  #include "xe_lrc.h"
>  #include "xe_macros.h"
>  #include "xe_sched_job.h"
> +#include "xe_sriov.h"
>  #include "xe_vm_types.h"
>  #include "xe_vm.h"
>  #include "xe_wa.h"
> @@ -367,10 +368,12 @@ static void emit_migration_job_gen12(struct xe_sched_job *job,
>  
>  	i = emit_bb_start(job->batch_addr[0], BIT(8), dw, i);
>  
> -	/* XXX: Do we need this? Leaving for now. */
> -	dw[i++] = preparser_disable(true);
> -	i = emit_flush_invalidate(0, dw, i);
> -	dw[i++] = preparser_disable(false);
> +	if (!IS_SRIOV_VF(gt_to_xe(job->q->gt))) {
> +		/* XXX: Do we need this? Leaving for now. */
> +		dw[i++] = preparser_disable(true);
> +		i = emit_flush_invalidate(0, dw, i);
> +		dw[i++] = preparser_disable(false);
> +	}
>  
>  	i = emit_bb_start(job->batch_addr[1], BIT(8), dw, i);
>  
> -- 
> 2.43.0
> 

-- 


More information about the Intel-xe mailing list