Skip to content

Commit c82cfe1

Browse files
laifryieeawilliam
authored andcommitted
vfio: selftests: Support DMR and GNR-D DSA devices
Currently, the VFIO DSA driver test only supports the SPR DSA device ID. Attempting to run the test on newer platforms like DMR or GNR-D results in a "No driver found" error, causing the test to be skipped. Refactor dsa_probe() to use a switch statement for checking device IDs. This improves maintainability and makes it easier to add new device IDs in the future. Add the following DSA device IDs to the supported list: PCI_DEVICE_ID_INTEL_DSA_DMR (0x1212) PCI_DEVICE_ID_INTEL_DSA_GNRD (0x11fb) Signed-off-by: Yi Lai <yi1.lai@intel.com> Reviewed-by: David Matlack <dmatlack@google.com> Link: https://lore.kernel.org/r/20260320010930.481380-1-yi1.lai@intel.com Signed-off-by: Alex Williamson <alex@shazbot.org>
1 parent 1347a74 commit c82cfe1

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

  • tools/testing/selftests/vfio/lib/drivers/dsa

tools/testing/selftests/vfio/lib/drivers/dsa/dsa.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,20 @@ static bool dsa_int_handle_request_required(struct vfio_pci_device *device)
6565

6666
static int dsa_probe(struct vfio_pci_device *device)
6767
{
68-
if (!vfio_pci_device_match(device, PCI_VENDOR_ID_INTEL,
69-
PCI_DEVICE_ID_INTEL_DSA_SPR0))
68+
const u16 vendor_id = vfio_pci_config_readw(device, PCI_VENDOR_ID);
69+
const u16 device_id = vfio_pci_config_readw(device, PCI_DEVICE_ID);
70+
71+
if (vendor_id != PCI_VENDOR_ID_INTEL)
72+
return -EINVAL;
73+
74+
switch (device_id) {
75+
case PCI_DEVICE_ID_INTEL_DSA_SPR0:
76+
case PCI_DEVICE_ID_INTEL_DSA_DMR:
77+
case PCI_DEVICE_ID_INTEL_DSA_GNRD:
78+
break;
79+
default:
7080
return -EINVAL;
81+
}
7182

7283
if (dsa_int_handle_request_required(device)) {
7384
dev_err(device, "Device requires requesting interrupt handles\n");

0 commit comments

Comments
 (0)