[PATCH] drm/xe: Move page fault init after topology init
Summers, Stuart
stuart.summers at intel.com
Fri Jul 11 16:29:35 UTC 2025
On Fri, 2025-07-11 at 09:25 -0700, Matthew Brost wrote:
> On Fri, Jul 11, 2025 at 09:08:55AM -0600, Summers, Stuart wrote:
> > On Thu, 2025-07-10 at 12:12 -0700, Matthew Brost wrote:
> > > We need the topology to determine GT page fault queue size, move
> > > page
> > > fault init after topology init.
> > >
> > > Cc: stable at vger.kernel.org
> > > Fixes: 3338e4f90c14 ("drm/xe: Use topology to determine page
> > > fault
> > > queue size")
> > > Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> >
> > Yep, good catch and thanks!
> >
>
> Thanks, I feel like this worked at one point in time though. Maybe
> something in xe_gt_init got re-ordered recently. Will check on that
> ahead of merging to make I have the fixes tag correct.
You know it could have been a problem all along too...
(num_eus + XE_NUM_HW_ENGINES) * PF_MSG_LEN_DW * PF_MULTIPLIER;
We do have a non-zero calculation here even when num_eus is 0. That
might also explain why we needed that extra multiplier, even if we
aren't covering the full pathological case here - I still need to get
those pow-of-2 fixes in to that pathological patch and get that merged
:(
Thanks,
Stuart
>
> Matt
>
> > Reviewed-by: Stuart Summers <stuart.summers at intel.com>
> >
> > > ---
> > > drivers/gpu/drm/xe/xe_gt.c | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/xe/xe_gt.c
> > > b/drivers/gpu/drm/xe/xe_gt.c
> > > index d397df056e4c..af03e19ef9be 100644
> > > --- a/drivers/gpu/drm/xe/xe_gt.c
> > > +++ b/drivers/gpu/drm/xe/xe_gt.c
> > > @@ -628,15 +628,15 @@ int xe_gt_init(struct xe_gt *gt)
> > > if (err)
> > > return err;
> > >
> > > - err = xe_gt_pagefault_init(gt);
> > > + err = xe_gt_sysfs_init(gt);
> > > if (err)
> > > return err;
> > >
> > > - err = xe_gt_sysfs_init(gt);
> > > + err = gt_init_with_gt_forcewake(gt);
> > > if (err)
> > > return err;
> > >
> > > - err = gt_init_with_gt_forcewake(gt);
> > > + err = xe_gt_pagefault_init(gt);
> > > if (err)
> > > return err;
> > >
> >
More information about the Intel-xe
mailing list