Re: [PATCH 9/9] vfio/pci: use powernv naming instead of nvlink2

From: Jason Gunthorpe
Date: Mon Feb 01 2021 - 13:37:22 EST


On Mon, Feb 01, 2021 at 04:28:28PM +0000, Max Gurtovoy wrote:
> 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%)

This is really nothing to do with PPC, "nvlink" is a PCI device that
shows the entire GPU memory space on these special power systems, and
the this driver changes the normal vfio-pci behavior to match the
single device.

This is probably the best existing example of something that could be
a vendor PCI driver because of how single-device specific it really
is.

Read 7f92891778dff62303c070ac81de7b7d80de331a to get some sense of how
very special a device it is.

This could be like mlx5, with the single PCI ID pre-populated in a
match table.

That is probably the key test for vfio_pci_core vs vfio_pci - if the
modification is triggered by a single PCI ID that can be matched it is
vfio_pci side, not core. Compared to the s390 stuff which applies to
all PCI devices in the system.

Jason