[Intel-xe] [PATCH 0/4] RFC: Add new device configuration infrastructure to

Summers, Stuart stuart.summers at intel.com
Thu Apr 20 17:45:02 UTC 2023


On Thu, 2023-04-20 at 12:32 +0300, Jani Nikula wrote:
> On Wed, 19 Apr 2023, Stuart Summers <stuart.summers at intel.com> wrote:
> > This is attempting to take the best parts of i915 module parameters
> > (minus the actual module parameters) and add to xe to allow for
> > better
> > debuggability and configuration in order to help isolate problems
> > on a per-device level instead of global module parameters.
> > 
> > Note that I did review a few options here: configfs (not generally
> > used by the drm stack), module parameters (we have some negative
> > history here), sysfs (not the right approach given the focus on
> > user interface here). Debugfs is used in various drm drivers to
> > configure various device characteristics. The infrastructure being
> > presented here has at a high level been present in the i915 driver
> > for some years now, so provides a good starting point for quick
> > debug additions without exposing users to some of the challenges
> > faced with module parameters in the past.
> 
> Looking into configfs has been on my todo list for a long time. It's
> something that often gets recommended as a replacement to module
> parameters, but the documentation as well as the existing examples in
> the kernel are, I think, less than stellar. Basically would require
> implementing it and seeing how it actually works.

Really appreciate that perspective! Yes I understand. Let me take a
closer look here and see what might make the most sense.

> 
> In any case, I don't think it should be dismissed with just "not
> generally used by the drm stack". A decent implementation could set
> the
> example going forward.
> 
> The main problem with debugfs is the inability to set the default
> values
> prior to probing the device. This is where module parameters are
> handy,
> but they aren't device specific (and, as you note, generally
> discouraged).
> 
> Looking at the patches, I'm not sure I understand what the procedure
> for
> setting the debugfs values before probing the device would be. Can
> you
> provide an example sequence on the command-line please?

Well it doesn't seem to be working for me here... so for now let's hold
on this. I'll dig deeper and post an update with examples.

Thanks,
Stuart

> 
> 
> BR,
> Jani.
> 
> > Stuart Summers (4):
> >   drm/xe: Refactor early device init
> >   drm/xe: Refactor debugfs into an early and late part
> >   drm/xe: Add new device configuration debugfs infrastructure
> >   drm/xe: Migrate module parameters to new debugfs structure
> > 
> >  drivers/gpu/drm/xe/Makefile            |   1 +
> >  drivers/gpu/drm/xe/xe_debugfs.c        |  14 +-
> >  drivers/gpu/drm/xe/xe_debugfs.h        |   1 +
> >  drivers/gpu/drm/xe/xe_debugfs_params.c | 235
> > +++++++++++++++++++++++++
> >  drivers/gpu/drm/xe/xe_debugfs_params.h |  14 ++
> >  drivers/gpu/drm/xe/xe_device.c         |  23 ++-
> >  drivers/gpu/drm/xe/xe_device.h         |   4 +-
> >  drivers/gpu/drm/xe/xe_device_types.h   |   4 +
> >  drivers/gpu/drm/xe/xe_display.c        |   3 +-
> >  drivers/gpu/drm/xe/xe_guc_log.c        |   2 +-
> >  drivers/gpu/drm/xe/xe_mmio.c           |   4 +-
> >  drivers/gpu/drm/xe/xe_module.c         |  16 --
> >  drivers/gpu/drm/xe/xe_module.h         |   5 -
> >  drivers/gpu/drm/xe/xe_params.c         | 118 +++++++++++++
> >  drivers/gpu/drm/xe/xe_params.h         |  43 +++++
> >  drivers/gpu/drm/xe/xe_pci.c            |  14 +-
> >  16 files changed, 461 insertions(+), 40 deletions(-)
> >  create mode 100644 drivers/gpu/drm/xe/xe_debugfs_params.c
> >  create mode 100644 drivers/gpu/drm/xe/xe_debugfs_params.h
> >  create mode 100644 drivers/gpu/drm/xe/xe_params.c
> >  create mode 100644 drivers/gpu/drm/xe/xe_params.h


More information about the Intel-xe mailing list