[PATCH 4/5] drm/xe/configfs: Allow configurations only for Intel VGA devices
Lucas De Marchi
lucas.demarchi at intel.com
Thu Jul 17 19:52:29 UTC 2025
On Thu, Jul 17, 2025 at 08:48:24PM +0200, Michal Wajdeczko wrote:
>The Xe driver supports only Intel GPUs devices that all are PCI
>VGA class devices. Reject creation of configuration directories
>for PCI device addresses that are not Intel or VGA.
>
>Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>Cc: Lucas De Marchi <lucas.demarchi at intel.com>
>---
> drivers/gpu/drm/xe/xe_configfs.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
>diff --git a/drivers/gpu/drm/xe/xe_configfs.c b/drivers/gpu/drm/xe/xe_configfs.c
>index 00bb4e412c12..1df8cce78f13 100644
>--- a/drivers/gpu/drm/xe/xe_configfs.c
>+++ b/drivers/gpu/drm/xe/xe_configfs.c
>@@ -260,6 +260,7 @@ static struct config_group *xe_config_make_device_group(struct config_group *gro
> struct xe_config_device *dev;
> struct pci_dev *pdev;
> char canonical[16];
>+ bool match;
> int ret;
>
> ret = sscanf(name, "%x:%x:%x.%d", &domain, &bus, &slot, &function);
>@@ -275,8 +276,14 @@ static struct config_group *xe_config_make_device_group(struct config_group *gro
> pdev = pci_get_domain_bus_and_slot(domain, bus, PCI_DEVFN(slot, function));
> if (!pdev)
> return ERR_PTR(-ENODEV);
>+
>+ match = pci_is_vga(pdev) && pdev->vendor == PCI_VENDOR_ID_INTEL;
although not officially supported by xe, we had devices in the past with
class 0x0380 and (I think) 0x302.
is the goal here to error early on typos that cause the config to not
"stick" and now error/warning to the user? Maybe we should rather have a
positive indication during bind that the user can grep for in the log?
Lucas De Marchi
>+
> pci_dev_put(pdev);
>
>+ if (!match)
>+ return ERR_PTR(-ENODEV);
>+
> dev = kzalloc(sizeof(*dev), GFP_KERNEL);
> if (!dev)
> return ERR_PTR(-ENOMEM);
>--
>2.47.1
>
More information about the Intel-xe
mailing list