This patch doesn't change any logic but only align to the concept of vfio_pci_core extensions. Extensions that are related to a platform and not to a specific vendor of PCI devices should be part of the core driver. Extensions that are specific for PCI device vendor should go to a dedicated vendor vfio-pci driver. For now, powernv extensions will include only nvlink2. Signed-off-by: Max Gurtovoy <mgurtovoy@xxxxxxxxxx> --- drivers/vfio/pci/Kconfig | 6 ++++-- drivers/vfio/pci/Makefile | 2 +- drivers/vfio/pci/vfio_pci_core.c | 4 ++-- drivers/vfio/pci/{vfio_pci_nvlink2.c => vfio_pci_powernv.c} | 0 drivers/vfio/pci/vfio_pci_private.h | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) rename drivers/vfio/pci/{vfio_pci_nvlink2.c => vfio_pci_powernv.c} (100%) diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig index c98f2df01a60..fe0264b3d02f 100644 --- a/drivers/vfio/pci/Kconfig +++ b/drivers/vfio/pci/Kconfig @@ -47,11 +47,13 @@ config VFIO_PCI_X86 To enable Intel X86 extensions for vfio-pci-core, say Y. -config VFIO_PCI_NVLINK2 +config VFIO_PCI_POWERNV def_bool y depends on VFIO_PCI_CORE && PPC_POWERNV help - VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs + VFIO PCI extensions for IBM PowerNV (Non-Virtualized) platform + + To enable POWERNV extensions for vfio-pci-core, say Y. config VFIO_PCI_S390 bool "VFIO PCI extensions for S390 platform" diff --git a/drivers/vfio/pci/Makefile b/drivers/vfio/pci/Makefile index d8ccb70e015a..442b7c78de4c 100644 --- a/drivers/vfio/pci/Makefile +++ b/drivers/vfio/pci/Makefile @@ -6,7 +6,7 @@ obj-$(CONFIG_MLX5_VFIO_PCI) += mlx5-vfio-pci.o vfio-pci-core-y := vfio_pci_core.o vfio_pci_intrs.o vfio_pci_rdwr.o vfio_pci_config.o vfio-pci-core-$(CONFIG_VFIO_PCI_X86) += vfio_pci_x86.o -vfio-pci-core-$(CONFIG_VFIO_PCI_NVLINK2) += vfio_pci_nvlink2.o +vfio-pci-core-$(CONFIG_VFIO_PCI_POWERNV) += vfio_pci_powernv.o vfio-pci-core-$(CONFIG_VFIO_PCI_ZDEV) += vfio_pci_s390.o vfio-pci-y := vfio_pci.o diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c index e0e258c37fb5..90cc728fffc7 100644 --- a/drivers/vfio/pci/vfio_pci_core.c +++ b/drivers/vfio/pci/vfio_pci_core.c @@ -337,7 +337,7 @@ static int vfio_pci_enable(struct vfio_pci_device *vdev) } if (pdev->vendor == PCI_VENDOR_ID_NVIDIA && - IS_ENABLED(CONFIG_VFIO_PCI_NVLINK2)) { + IS_ENABLED(CONFIG_VFIO_PCI_POWERNV)) { ret = vfio_pci_nvdia_v100_nvlink2_init(vdev); if (ret && ret != -ENODEV) { pci_warn(pdev, "Failed to setup NVIDIA NV2 RAM region\n"); @@ -346,7 +346,7 @@ static int vfio_pci_enable(struct vfio_pci_device *vdev) } if (pdev->vendor == PCI_VENDOR_ID_IBM && - IS_ENABLED(CONFIG_VFIO_PCI_NVLINK2)) { + IS_ENABLED(CONFIG_VFIO_PCI_POWERNV)) { ret = vfio_pci_ibm_npu2_init(vdev); if (ret && ret != -ENODEV) { pci_warn(pdev, "Failed to setup NVIDIA NV2 ATSD region\n"); diff --git a/drivers/vfio/pci/vfio_pci_nvlink2.c b/drivers/vfio/pci/vfio_pci_powernv.c similarity index 100% rename from drivers/vfio/pci/vfio_pci_nvlink2.c rename to drivers/vfio/pci/vfio_pci_powernv.c diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h index efc688525784..dc6a9191a704 100644 --- a/drivers/vfio/pci/vfio_pci_private.h +++ b/drivers/vfio/pci/vfio_pci_private.h @@ -173,7 +173,7 @@ static inline int vfio_pci_igd_init(struct vfio_pci_device *vdev) return -ENODEV; } #endif -#ifdef CONFIG_VFIO_PCI_NVLINK2 +#ifdef CONFIG_VFIO_PCI_POWERNV extern int vfio_pci_nvdia_v100_nvlink2_init(struct vfio_pci_device *vdev); extern int vfio_pci_ibm_npu2_init(struct vfio_pci_device *vdev); #else -- 2.25.4