]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe/configfs: Add attribute to disable GT types
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 13 Oct 2025 20:10:05 +0000 (13:10 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Tue, 14 Oct 2025 14:45:17 +0000 (07:45 -0700)
commit7abd69278bb53ab6b43f9650daba550cc7624858
tree29ea8a0e5012b3c3f9c765af89dd49e01832b7a4
parent6675c9e209155fb7a454325760cb5bc5111671f4
drm/xe/configfs: Add attribute to disable GT types

Preventing the driver from initializing GTs of specific type(s) can be
useful for debugging and early hardware bringup.  Add a configfs
attribute to allow this kind of control for debugging.

With today's platforms and software design, this configuration setting
is only effective for disabling the media GT since the driver currently
requires that there always be a primary GT to probe the device.  However
this might change in the future ---  in theory it should be possible
(with some additional driver work) to allow an igpu device to come up
with only the media GT and no primary GT.  Or to allow an igpu device to
come up with no GTs at all (for display-only usage).  A primary GT will
likely always be required on dgpu platforms because we rely on the BCS
engines inside the primary GT for various vram operations.

v2:
 - Expand/clarify kerneldoc for configfs attribute.  (Gustavo)
 - Tighten type usage in gt_types[] structure.  (Gustavo)
 - Adjust string parsing/name matching to match exact GT names and not
   accept partial names.  (Gustavo)

v3:
 - Switch to scope-based cleanup in gt_types_allowed_store() to fix a
   leak if the device is already bound.  (Gustavo)
 - Switch configfs lookup interface to two boolean functions that
   specify whether primary/media are supported rather than one function
   that returns a mask.  This is simpler to use and understand.

v4:
 - Rename xe_configfs_*_gt_supported to xe_configfs_*_gt_allowed for
   consistency with configfs interface and other functions.  (Gustavo)
 - Simplify boolean check in xe_configfs_*_gt_allowed.  (Michal)
 - Use xe_info() for message printing.  (Michal)
 - Use guard() instead of scoped_guard().  (Michal)
 - Make new functions take 'struct pci_dev' for consistency with other
   configfs lookup functions.  (Michal)

Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/20251013200944.2499947-47-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/xe_configfs.c
drivers/gpu/drm/xe/xe_configfs.h
drivers/gpu/drm/xe/xe_pci.c