Re: [PATCH 3/9] drm/xe: Add a new debug focused configfs group

"Summers, Stuart" <[email protected]> Wed, 5 Aug 2026 20:17:00 +0000
Newsgroups org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On Tue, 2026-08-04 at 22:08 -0400, Rodrigo Vivi wrote:
> On Mon, Aug 03, 2026 at 02:34:15PM -0400, Summers, Stuart wrote:
> > On Fri, 2026-07-24 at 20:25 +0000, Stuart Summers wrote:
> > > Add the skeleton code for a new debug specific configfs group.
> > > Just add the structure for now. Actual debug content will be
> > > added in a subsequent patch.
> > > 
> > > Signed-off-by: Stuart Summers <[email protected]>
> > > Assisted-by: Copilot:claude-sonnet-4.6,claude-opus-4.7
> > > ---
> > >  drivers/gpu/drm/xe/Makefile            |  2 ++
> > >  drivers/gpu/drm/xe/xe_configfs.c       |  5 +++++
> > >  drivers/gpu/drm/xe/xe_configfs_debug.c | 14 ++++++++++++++
> > >  drivers/gpu/drm/xe/xe_configfs_debug.h | 13 +++++++++++++
> > >  drivers/gpu/drm/xe/xe_configfs_types.h |  3 +++
> > >  5 files changed, 37 insertions(+)
> > >  create mode 100644 drivers/gpu/drm/xe/xe_configfs_debug.c
> > >  create mode 100644 drivers/gpu/drm/xe/xe_configfs_debug.h
> > > 
> > > diff --git a/drivers/gpu/drm/xe/Makefile
> > > b/drivers/gpu/drm/xe/Makefile
> > > index 67ada1d6c2fb..5765751781ae 100644
> > > --- a/drivers/gpu/drm/xe/Makefile
> > > +++ b/drivers/gpu/drm/xe/Makefile
> > > @@ -162,6 +162,8 @@ xe-$(CONFIG_HWMON) += xe_hwmon.o
> > >  
> > >  xe-$(CONFIG_PERF_EVENTS) += xe_pmu.o
> > >  xe-$(CONFIG_CONFIGFS_FS) += xe_configfs.o
> > > +xe_debug_configfs_obj-$(CONFIG_DRM_XE_DEBUG) :=
> > > xe_configfs_debug.o
> > 
> > @Rodrigo, in offline discussion today you had mentioned wanting
> > this
> > held under an EXPERIMENTAL kconfig. I see this is all under EXPERT
> > right now (the whole CONFIG_DRM_XE_DEBUG infrastructure). Is this
> > enough? Or we need to add a new kconfig explicitly under
> > EXPERIMENTAL?
> 
> definitely enough
> 
> Reviewed-by: Rodrigo Vivi <[email protected]>

Thanks!

> 
> For the next patches, please take a look to Sashiko.
> There seems to be some finds in some patches in this series that
> might
> be worth to address.
> 
> The pre-existing ones can be addressed as follow ups.
> 
> https://sashiko.dev/#/patchset/20260724202539.53850-11-stuart.summers%40intel.com

Yeah I did see this... I'm working on fixes. I should have a revision
out today or tomorrow.

Thanks,
Stuart

> 
> Thanks,
> Rodrigo.
> 
> > 
> > Thanks,
> > Stuart
> > 
> > > +xe-$(CONFIG_CONFIGFS_FS) += $(xe_debug_configfs_obj-y)
> > >  
> > >  # graphics virtualization (SR-IOV) support
> > >  xe-y += \
> > > diff --git a/drivers/gpu/drm/xe/xe_configfs.c
> > > b/drivers/gpu/drm/xe/xe_configfs.c
> > > index f8f9afe82488..4b92e3072d56 100644
> > > --- a/drivers/gpu/drm/xe/xe_configfs.c
> > > +++ b/drivers/gpu/drm/xe/xe_configfs.c
> > > @@ -14,6 +14,7 @@
> > >  
> > >  #include "instructions/xe_mi_commands.h"
> > >  #include "xe_configfs.h"
> > > +#include "xe_configfs_debug.h"
> > >  #include "xe_defaults.h"
> > >  #include "xe_gt_types.h"
> > >  #include "xe_module.h"
> > > @@ -1233,6 +1234,10 @@ static struct config_group
> > > *xe_config_make_device_group(struct config_group *gro
> > >                 config_group_init_type_name(&dev->sriov, "sriov",
> > > &xe_config_sriov_type);
> > >                 configfs_add_default_group(&dev->sriov, &dev-
> > > >group);
> > >         }
> > > +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
> > > +       config_group_init_type_name(&dev->debug, "debug",
> > > &xe_configfs_debug_type);
> > > +       configfs_add_default_group(&dev->debug, &dev->group);
> > > +#endif
> > >  
> > >         mutex_init(&dev->lock);
> > >  
> > > diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.c
> > > b/drivers/gpu/drm/xe/xe_configfs_debug.c
> > > new file mode 100644
> > > index 000000000000..45617282cec5
> > > --- /dev/null
> > > +++ b/drivers/gpu/drm/xe/xe_configfs_debug.c
> > > @@ -0,0 +1,14 @@
> > > +// SPDX-License-Identifier: MIT
> > > +/*
> > > + * Copyright © 2026 Intel Corporation
> > > + */
> > > +
> > > +#include <linux/configfs.h>
> > > +#include <linux/module.h>
> > > +
> > > +#include "xe_configfs_debug.h"
> > > +#include "xe_configfs_types.h"
> > > +
> > > +const struct config_item_type xe_configfs_debug_type = {
> > > +       .ct_owner       = THIS_MODULE,
> > > +};
> > > diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.h
> > > b/drivers/gpu/drm/xe/xe_configfs_debug.h
> > > new file mode 100644
> > > index 000000000000..5f938450aed2
> > > --- /dev/null
> > > +++ b/drivers/gpu/drm/xe/xe_configfs_debug.h
> > > @@ -0,0 +1,13 @@
> > > +/* SPDX-License-Identifier: MIT */
> > > +/*
> > > + * Copyright © 2026 Intel Corporation
> > > + */
> > > +#ifndef _XE_CONFIGFS_DEBUG_H_
> > > +#define _XE_CONFIGFS_DEBUG_H_
> > > +
> > > +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG) &&
> > > IS_ENABLED(CONFIG_CONFIGFS_FS)
> > > +struct config_item_type;
> > > +extern const struct config_item_type xe_configfs_debug_type;
> > > +#endif
> > > +
> > > +#endif /* _XE_CONFIGFS_DEBUG_H_ */
> > > diff --git a/drivers/gpu/drm/xe/xe_configfs_types.h
> > > b/drivers/gpu/drm/xe/xe_configfs_types.h
> > > index 3be7d6160b4c..e22b9424f719 100644
> > > --- a/drivers/gpu/drm/xe/xe_configfs_types.h
> > > +++ b/drivers/gpu/drm/xe/xe_configfs_types.h
> > > @@ -22,6 +22,9 @@ struct wa_bb {
> > >  struct xe_config_group_device {
> > >         struct config_group group;
> > >         struct config_group sriov;
> > > +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
> > > +       struct config_group debug;
> > > +#endif
> > >  
> > >         /*
> > >          * Fields sorted by type (largest first) then name:
> > > struct
> > > arrays,
> >