[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