[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