[PATCH] drm/xe/guc: Use drm_info for hwconfig missing message in execlist mode
Summers, Stuart
stuart.summers at intel.com
Fri Mar 28 15:32:03 UTC 2025
On Fri, 2025-03-28 at 01:09 -0500, Lucas De Marchi wrote:
> On Thu, Mar 27, 2025 at 08:22:01PM +0000, Stuart Summers wrote:
> > When running in execlist mode we are explicitly not loading
> > the GuC firmware and the GuC is needed to provide the hwconfig
> > values. Currently we are printing an error message any time
> > we see the hwconfig couldn't be obtained for some reason which
> > is breaking the execlist specific CI.
> >
> > Keep the error message for normal GuC based load, but when
> > the module is loaded with force_execlist=1, change this to
> > an info print.
>
> but do we actually need the info? it would be simpler to just drop
> the
> message. See below.
Yeah I agree, makes sense. Let me post the change here.
Thanks,
Stuart
>
> >
> > Signed-off-by: Stuart Summers <stuart.summers at intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_gt_mcr.c | 14 ++++++++++++--
> > 1 file changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_gt_mcr.c
> > b/drivers/gpu/drm/xe/xe_gt_mcr.c
> > index 605aad3554e7..52ee2ead3b17 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_mcr.c
> > +++ b/drivers/gpu/drm/xe/xe_gt_mcr.c
> > @@ -345,8 +345,18 @@ static unsigned int dss_per_group(struct xe_gt
> > *gt)
> > * Some older platforms don't have tables or don't have
> > complete tables.
> > * Newer platforms should always have the required info.
>
> - * Newer platforms should always have the required info.
> + * Newer platforms should always have the required info
> + * when using GuC.
>
> > */
> > - if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000)
> > - xe_gt_err(gt, "Slice/Subslice counts missing from
> > hwconfig table; using typical fallback values\n");
> > + if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000) {
>
> - if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000
> + if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000 &&
> + !gt_to_xe(gt)->info.force_execlist)
>
> /me surprised the driver is not exploding in execlist.
>
> Lucas De Marchi
>
> > + const char *fallback_msg =
> > + "GT%u: Slice/Subslice counts missing from
> > hwconfig table; using typical fallback values\n";
> > + struct drm_printer ip = xe_gt_info_printer(gt);
> > + struct drm_printer ep = xe_gt_err_printer(gt);
> > +
> > + /* In execlist, we don't load GuC, so this is
> > expected. */
> > + if (gt_to_xe(gt)->info.force_execlist)
> > + drm_printf(&ip, fallback_msg, gt->info.id);
> > + else
> > + drm_printf(&ep, fallback_msg, gt->info.id);
> > + }
> >
> > if (gt_to_xe(gt)->info.platform == XE_PVC)
> > return 8;
> > --
> > 2.34.1
> >
More information about the Intel-xe
mailing list