Skip to contentSkip to conversation

vfio/qat: extend Kconfig dependencies for 420xx and 6xxx devices

PATCH Applied Suman Kumar Chakraborty 3 participants 6 messages Feb 13 – Mar 20

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 vfio/qat: extend Kconfig dependencies for 420xx and 6xxx devices

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

---
 drivers/vfio/pci/qat/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/vfio/pci/qat/Kconfig +1 -1
index bf52cfa4b595..83f037d7e9a4 100644
@@ -2,7 +2,7 @@
 config QAT_VFIO_PCI
 	tristate "VFIO support for QAT VF PCI devices"
 	select VFIO_PCI_CORE
-	depends on CRYPTO_DEV_QAT_4XXX
+	depends on CRYPTO_DEV_QAT_4XXX || CRYPTO_DEV_QAT_420XX || CRYPTO_DEV_QAT_6XXX
 	help
 	  This provides migration support for Intel(R) QAT Virtual Function
 	  using the VFIO framework.

base-commit: b10c62483b324e60e45fb27d7fdc09c9198993d7

Signature · 1 line
2.52.0
maintainer
#1 lore raw
Quoted 9 lines · On Fri, 13 Feb 2026 09:14:03 +0000 Suman Kumar Chakraborty…

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

420xx seems to be device ID 0x4947:

drivers/crypto/intel/qat/qat_common/adf_accel_devices.h #define PCI_DEVICE_ID_INTEL_QAT_420XXIOV 0x4947

We don't currently have that in the ID table for the vfio qat driver:

static const struct pci_device_id qat_vf_vfio_pci_table[] = {
        /* Intel QAT GEN4 4xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4941) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4943) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4945) },
        /* Intel QAT GEN6 6xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4949) },
        {}
};

Are we missing support for this device and is this Kconfig change therefore a little overeager? Thanks,

Alex

Quoted 22 lines
---
 drivers/vfio/pci/qat/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/vfio/pci/qat/Kconfig +1 -1
index bf52cfa4b595..83f037d7e9a4 100644
@@ -2,7 +2,7 @@
 config QAT_VFIO_PCI
 	tristate "VFIO support for QAT VF PCI devices"
 	select VFIO_PCI_CORE
-	depends on CRYPTO_DEV_QAT_4XXX
+	depends on CRYPTO_DEV_QAT_4XXX || CRYPTO_DEV_QAT_420XX || CRYPTO_DEV_QAT_6XXX
 	help
 	  This provides migration support for Intel(R) QAT Virtual Function
 	  using the VFIO framework.

base-commit: b10c62483b324e60e45fb27d7fdc09c9198993d7

maintainer
#2 lore raw
Quoted 30 lines · Alex Williamson
Quoted 9 lines · On Fri, 13 Feb 2026 09:14:03 +0000 Suman Kumar Chakraborty…

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

420xx seems to be device ID 0x4947:

drivers/crypto/intel/qat/qat_common/adf_accel_devices.h #define PCI_DEVICE_ID_INTEL_QAT_420XXIOV 0x4947

We don't currently have that in the ID table for the vfio qat driver:

static const struct pci_device_id qat_vf_vfio_pci_table[] = {
        /* Intel QAT GEN4 4xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4941) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4943) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4945) },
        /* Intel QAT GEN6 6xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4949) },
        {}
};
Quoted 2 lines

Are we missing support for this device and is this Kconfig change therefore a little overeager?

The PF-side live migration support for the 420xx VF (0x4947) was added in [1], however the qat_vf_vfio_pci_table in the qat_vfio_pci driver wasn't updated to include that device. I'm going to send a patch to add that.

Do you prefer both changes (Kconfig and table) on the same patch?

[1] https://lore.kernel.org/all/[email protected]/

Thanks,

Signature · 1 line
Giovanni
maintainer
#3 lore raw
Quoted 33 lines · On Tue, 10 Mar 2026 17:27:26 +0000 Giovanni Cabiddu…
Quoted 30 lines · Alex Williamson
Quoted 9 lines · On Fri, 13 Feb 2026 09:14:03 +0000 Suman Kumar Chakraborty…

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

420xx seems to be device ID 0x4947:

drivers/crypto/intel/qat/qat_common/adf_accel_devices.h #define PCI_DEVICE_ID_INTEL_QAT_420XXIOV 0x4947

We don't currently have that in the ID table for the vfio qat driver:

static const struct pci_device_id qat_vf_vfio_pci_table[] = {
        /* Intel QAT GEN4 4xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4941) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4943) },
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4945) },
        /* Intel QAT GEN6 6xxx VF device */
        { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_INTEL, 0x4949) },
        {}
};
Quoted 2 lines

Are we missing support for this device and is this Kconfig change therefore a little overeager?

Quoted 7 lines

The PF-side live migration support for the 420xx VF (0x4947) was added in [1], however the qat_vf_vfio_pci_table in the qat_vfio_pci driver wasn't updated to include that device. I'm going to send a patch to add that.

Do you prefer both changes (Kconfig and table) on the same patch?

[1] https://lore.kernel.org/all/[email protected]/

A separate patch is fine. Thanks,

Alex

maintainer Applied
#4 lore raw
In reply to Suman Kumar Chakraborty
Quoted 31 lines · On Fri, 13 Feb 2026 09:14:03 +0000 Suman Kumar Chakraborty…

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

---
 drivers/vfio/pci/qat/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/vfio/pci/qat/Kconfig +1 -1
index bf52cfa4b595..83f037d7e9a4 100644
@@ -2,7 +2,7 @@
 config QAT_VFIO_PCI
 	tristate "VFIO support for QAT VF PCI devices"
 	select VFIO_PCI_CORE
-	depends on CRYPTO_DEV_QAT_4XXX
+	depends on CRYPTO_DEV_QAT_4XXX || CRYPTO_DEV_QAT_420XX || CRYPTO_DEV_QAT_6XXX
 	help
 	  This provides migration support for Intel(R) QAT Virtual Function
 	  using the VFIO framework.
Quoted 1 line

base-commit: b10c62483b324e60e45fb27d7fdc09c9198993d7

Applied to vfio next branch for v7.1, still waiting on a patch that actually adds support for for 420xx to the variant driver. Thanks,

Alex

maintainer
#5 lore raw
Quoted 34 lines · Alex Williamson
Quoted 31 lines · On Fri, 13 Feb 2026 09:14:03 +0000 Suman Kumar Chakraborty…

From: Vijay Sundar Selvamani <[email protected]>

Currently, the QAT VFIO PCI driver can only be configured when the 4xxx QAT driver (CRYPTO_DEV_QAT_4XXX) is enabled. This is too restrictive as the VFIO driver also supports VFs from the 420xx and 6xxx device families, which share a compatible migration interface.

Extends the Kconfig dependencies to allow configuration when any of the supported QAT device families (4xxx, 420xx, or 6xxx) are enabled.

---
 drivers/vfio/pci/qat/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/vfio/pci/qat/Kconfig +1 -1
index bf52cfa4b595..83f037d7e9a4 100644
@@ -2,7 +2,7 @@
 config QAT_VFIO_PCI
 	tristate "VFIO support for QAT VF PCI devices"
 	select VFIO_PCI_CORE
-	depends on CRYPTO_DEV_QAT_4XXX
+	depends on CRYPTO_DEV_QAT_4XXX || CRYPTO_DEV_QAT_420XX || CRYPTO_DEV_QAT_6XXX
 	help
 	  This provides migration support for Intel(R) QAT Virtual Function
 	  using the VFIO framework.
Quoted 4 lines
Quoted 1 line

base-commit: b10c62483b324e60e45fb27d7fdc09c9198993d7

Applied to vfio next branch for v7.1, still waiting on a patch that actually adds support for for 420xx to the variant driver. Thanks,

Submitted. Apologies for the delay.

Regards,

Signature · 1 line
Giovanni