Lines Matching +full:vendor +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0-only
31 #define DRIVER_DESC "VFIO PCI - User Level meta-driver"
35 MODULE_PARM_DESC(ids, "Initial PCI IDs to add to the vfio driver, format is \"vendor:device[:subven…
40 …king. If this resolves problems for specific devices, report lspci -vvvxxx to linux-pci@vger.kern…
45 MODULE_PARM_DESC(disable_vga, "Disable VGA resource access through vfio-pci");
56-IOV configuration. Enabling SR-IOV on a PF typically requires support of the userspace PF driver…
65 switch (pdev->vendor) { in vfio_pci_dev_in_denylist()
67 switch (pdev->device) { in vfio_pci_dev_in_denylist()
92 "device denylist disabled - allowing device %04x:%04x.\n", in vfio_pci_is_denylisted()
93 pdev->vendor, pdev->device); in vfio_pci_is_denylisted()
97 pci_warn(pdev, "%04x:%04x exists in vfio-pci device denylist, driver probing disallowed.\n", in vfio_pci_is_denylisted()
98 pdev->vendor, pdev->device); in vfio_pci_is_denylisted()
107 struct pci_dev *pdev = vdev->pdev; in vfio_pci_open_device()
115 pdev->vendor == PCI_VENDOR_ID_INTEL && in vfio_pci_open_device()
118 if (ret && ret != -ENODEV) { in vfio_pci_open_device()
131 .name = "vfio-pci",
149 static int vfio_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) in vfio_pci_probe() argument
155 return -EINVAL; in vfio_pci_probe()
157 vdev = vfio_alloc_device(vfio_pci_core_device, vdev, &pdev->dev, in vfio_pci_probe()
162 dev_set_drvdata(&pdev->dev, vdev); in vfio_pci_probe()
169 vfio_put_device(&vdev->vdev); in vfio_pci_probe()
175 struct vfio_pci_core_device *vdev = dev_get_drvdata(&pdev->dev); in vfio_pci_remove()
178 vfio_put_device(&vdev->vdev); in vfio_pci_remove()
183 struct vfio_pci_core_device *vdev = dev_get_drvdata(&pdev->dev); in vfio_pci_sriov_configure()
186 return -ENOENT; in vfio_pci_sriov_configure()
199 .name = "vfio-pci",
210 char *p, *id; in vfio_pci_fill_ids() local
219 while ((id = strsep(&p, ","))) { in vfio_pci_fill_ids()
220 unsigned int vendor, device, subvendor = PCI_ANY_ID, in vfio_pci_fill_ids() local
224 if (!strlen(id)) in vfio_pci_fill_ids()
227 fields = sscanf(id, "%x:%x:%x:%x:%x:%x", in vfio_pci_fill_ids()
228 &vendor, &device, &subvendor, &subdevice, in vfio_pci_fill_ids()
232 pr_warn("invalid id string \"%s\"\n", id); in vfio_pci_fill_ids()
236 rc = pci_add_dynid(&vfio_pci_driver, vendor, device, in vfio_pci_fill_ids()
239 pr_warn("failed to add dynamic id [%04x:%04x[%04x:%04x]] class %#08x/%08x (%d)\n", in vfio_pci_fill_ids()
240 vendor, device, subvendor, subdevice, in vfio_pci_fill_ids()
244 vendor, device, subvendor, subdevice, in vfio_pci_fill_ids()