Jason Wang
2021-Mar-09 02:23 UTC
[PATCH V2 2/4] vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA
On 2021/3/8 4:35 ??, Zhu Lingshan wrote:> This commit enabled Intel FPGA SmartNIC C5000X-PL virtio-net > for vDPA > > Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> > --- > drivers/vdpa/ifcvf/ifcvf_base.h | 5 +++++ > drivers/vdpa/ifcvf/ifcvf_main.c | 5 +++++ > 2 files changed, 10 insertions(+) > > diff --git a/drivers/vdpa/ifcvf/ifcvf_base.h b/drivers/vdpa/ifcvf/ifcvf_base.h > index 64696d63fe07..75d9a8052039 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_base.h > +++ b/drivers/vdpa/ifcvf/ifcvf_base.h > @@ -23,6 +23,11 @@ > #define IFCVF_SUBSYS_VENDOR_ID 0x8086 > #define IFCVF_SUBSYS_DEVICE_ID 0x001A > > +#define C5000X_PL_VENDOR_ID 0x1AF4 > +#define C5000X_PL_DEVICE_ID 0x1000 > +#define C5000X_PL_SUBSYS_VENDOR_ID 0x8086 > +#define C5000X_PL_SUBSYS_DEVICE_ID 0x0001I just notice that the device is a transtitional one. Any reason for doing this? Note that IFCVF is a moden device anyhow (0x1041). Supporting legacy drive may bring many issues (e.g the definition is non-nomartive). One example is the support of VIRTIO_F_IOMMU_PLATFORM, legacy driver may assume the device can bypass IOMMU. Thanks> + > #define IFCVF_SUPPORTED_FEATURES \ > ((1ULL << VIRTIO_NET_F_MAC) | \ > (1ULL << VIRTIO_F_ANY_LAYOUT) | \ > diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c > index e501ee07de17..26a2dab7ca66 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c > @@ -484,6 +484,11 @@ static struct pci_device_id ifcvf_pci_ids[] = { > IFCVF_DEVICE_ID, > IFCVF_SUBSYS_VENDOR_ID, > IFCVF_SUBSYS_DEVICE_ID) }, > + { PCI_DEVICE_SUB(C5000X_PL_VENDOR_ID, > + C5000X_PL_DEVICE_ID, > + C5000X_PL_SUBSYS_VENDOR_ID, > + C5000X_PL_SUBSYS_DEVICE_ID) }, > + > { 0 }, > }; > MODULE_DEVICE_TABLE(pci, ifcvf_pci_ids);