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

Jani Nikula jani.nikula at linux.intel.com
Thu Apr 20 09:32:55 UTC 2023


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.

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?


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

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-xe mailing list