[PATCH 0/3] vDPA/ifcvf: enables Intel C5000X-PL virtio-net
STALE2009d
Revision v1 of 5 in this series.
8 messages,
3 authors,
2021-03-08 · open the first message on its own page
This series enabled Intel FGPA SmartNIC C5000X-PL virtio-net
for vDPA
Zhu Lingshan (3):
vDPA/ifcvf: get_vendor_id returns a device specific vendor id
vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA
vDPA/ifcvf: bump version string to 1.0
drivers/vdpa/ifcvf/ifcvf_base.h | 13 +++++++++----
drivers/vdpa/ifcvf/ifcvf_main.c | 20 ++++++++++++++------
2 files changed, 23 insertions(+), 10 deletions(-)
--
2.27.0
In this commit, ifcvf_get_vendor_id() will return
a device specific vendor id of the probed pci device
than a hard code.
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index fa1af301cf55..e501ee07de17 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -324,7 +324,10 @@ static u32 ifcvf_vdpa_get_device_id(struct vdpa_device *vdpa_dev)
static u32 ifcvf_vdpa_get_vendor_id ( struct vdpa_device * vdpa_dev )
{
- return IFCVF_SUBSYS_VENDOR_ID ;
+ struct ifcvf_adapter * adapter = vdpa_to_adapter ( vdpa_dev );
+ struct pci_dev * pdev = adapter -> pdev ;
+
+ return pdev -> subsystem_vendor ;
}
static u32 ifcvf_vdpa_get_vq_align ( struct vdpa_device * vdpa_dev ) --
2.27.0
This commit enabled Intel FPGA SmartNIC C5000X-PL virtio-net
for vDPA.
C5000X-PL vendor id 0x1AF4, device id 0x1000,
subvendor id 0x8086, sub device id 0x0001
To distinguish C5000X-PL from other ifcvf driven devices,
the original ifcvf device is named "N3000".
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_base.h | 13 +++++++++----
drivers/vdpa/ifcvf/ifcvf_main.c | 13 +++++++++----
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_base.h b/drivers/vdpa/ifcvf/ifcvf_base.h
index 64696d63fe07..794d1505d857 100644
--- a/drivers/vdpa/ifcvf/ifcvf_base.h
+++ b/drivers/vdpa/ifcvf/ifcvf_base.h @@ -18,10 +18,15 @@
#include <uapi/linux/virtio_config.h>
#include <uapi/linux/virtio_pci.h>
- #define IFCVF_VENDOR_ID 0x1AF4
- #define IFCVF_DEVICE_ID 0x1041
- #define IFCVF_SUBSYS_VENDOR_ID 0x8086
- #define IFCVF_SUBSYS_DEVICE_ID 0x001A
+ #define N3000_VENDOR_ID 0x1AF4
+ #define N3000_DEVICE_ID 0x1041
+ #define N3000_SUBSYS_VENDOR_ID 0x8086
+ #define N3000_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 0x0001
#define IFCVF_SUPPORTED_FEATURES \
(( 1ULL << VIRTIO_NET_F_MAC ) | \ diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index e501ee07de17..fd5befc5cbcc 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -480,10 +480,15 @@ static void ifcvf_remove(struct pci_dev *pdev)
}
static struct pci_device_id ifcvf_pci_ids [] = {
- { PCI_DEVICE_SUB ( IFCVF_VENDOR_ID ,
- IFCVF_DEVICE_ID ,
- IFCVF_SUBSYS_VENDOR_ID ,
- IFCVF_SUBSYS_DEVICE_ID ) },
+ { PCI_DEVICE_SUB ( N3000_VENDOR_ID ,
+ N3000_DEVICE_ID ,
+ N3000_SUBSYS_VENDOR_ID ,
+ N3000_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 ); --
2.27.0
This commit bumps ifcvf driver version string to 1.0
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index fd5befc5cbcc..56a0974cf93c 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -14,7 +14,7 @@
#include <linux/sysfs.h>
#include "ifcvf_base.h"
- #define VERSION_STRING "0.1"
+ #define VERSION_STRING "1.0"
#define DRIVER_AUTHOR "Intel Corporation"
#define IFCVF_DRIVER_NAME "ifcvf"
--
2.27.0
On Fri, Mar 05, 2021 at 10:20:00PM +0800, Zhu Lingshan wrote: quoted hunk This commit bumps ifcvf driver version string to 1.0
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index fd5befc5cbcc..56a0974cf93c 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -14,7 +14,7 @@
#include <linux/sysfs.h>
#include "ifcvf_base.h"
- #define VERSION_STRING "0.1"
+ #define VERSION_STRING "1.0"
Please delete it instead of bumping it.
We are not supposed to use in-kernel version for years already.
https://lore.kernel.org/ksummit-discuss/20170625072423.GR1248@mtr-leonro.local/
Thanks
Hi Leon,
Thanks for point this out, will send a V2 patchset delete it.
Thanks
Zhu Lingshan
On 3/7/2021 5:01 PM, Leon Romanovsky wrote: On Fri, Mar 05, 2021 at 10:20:00PM +0800, Zhu Lingshan wrote: quoted This commit bumps ifcvf driver version string to 1.0
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index fd5befc5cbcc..56a0974cf93c 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -14,7 +14,7 @@
#include <linux/sysfs.h>
#include "ifcvf_base.h"
- #define VERSION_STRING "0.1"
+ #define VERSION_STRING "1.0" Please delete it instead of bumping it.
We are not supposed to use in-kernel version for years already.
https://lore.kernel.org/ksummit-discuss/20170625072423.GR1248@mtr-leonro.local/
Thanks
On 2021/3/5 10:19 下午, Zhu Lingshan wrote: quoted hunk In this commit, ifcvf_get_vendor_id() will return
a device specific vendor id of the probed pci device
than a hard code.
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index fa1af301cf55..e501ee07de17 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -324,7 +324,10 @@ static u32 ifcvf_vdpa_get_device_id(struct vdpa_device *vdpa_dev)
static u32 ifcvf_vdpa_get_vendor_id ( struct vdpa_device * vdpa_dev )
{
- return IFCVF_SUBSYS_VENDOR_ID ;
+ struct ifcvf_adapter * adapter = vdpa_to_adapter ( vdpa_dev );
+ struct pci_dev * pdev = adapter -> pdev ;
+
+ return pdev -> subsystem_vendor ;
}
Acked-by: Jason Wang <redacted>
static u32 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev)
On 2021/3/5 10:19 下午, Zhu Lingshan wrote: quoted hunk This commit enabled Intel FPGA SmartNIC C5000X-PL virtio-net
for vDPA.
C5000X-PL vendor id 0x1AF4, device id 0x1000,
subvendor id 0x8086, sub device id 0x0001
To distinguish C5000X-PL from other ifcvf driven devices,
the original ifcvf device is named "N3000".
Signed-off-by: Zhu Lingshan <redacted>
---
drivers/vdpa/ifcvf/ifcvf_base.h | 13 +++++++++----
drivers/vdpa/ifcvf/ifcvf_main.c | 13 +++++++++----
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_base.h b/drivers/vdpa/ifcvf/ifcvf_base.h
index 64696d63fe07..794d1505d857 100644
--- a/drivers/vdpa/ifcvf/ifcvf_base.h
+++ b/drivers/vdpa/ifcvf/ifcvf_base.h @@ -18,10 +18,15 @@
#include <uapi/linux/virtio_config.h>
#include <uapi/linux/virtio_pci.h>
- #define IFCVF_VENDOR_ID 0x1AF4
- #define IFCVF_DEVICE_ID 0x1041
- #define IFCVF_SUBSYS_VENDOR_ID 0x8086
- #define IFCVF_SUBSYS_DEVICE_ID 0x001A
+ #define N3000_VENDOR_ID 0x1AF4
+ #define N3000_DEVICE_ID 0x1041
+ #define N3000_SUBSYS_VENDOR_ID 0x8086
+ #define N3000_SUBSYS_DEVICE_ID 0x001A
Patch looks good, I wonder if it's better to do the rename separately.
Thanks
quoted hunk +
+#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 0x0001
#define IFCVF_SUPPORTED_FEATURES \
((1ULL << VIRTIO_NET_F_MAC) | \ diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index e501ee07de17..fd5befc5cbcc 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -480,10 +480,15 @@ static void ifcvf_remove(struct pci_dev *pdev)
}
static struct pci_device_id ifcvf_pci_ids [] = {
- { PCI_DEVICE_SUB ( IFCVF_VENDOR_ID ,
- IFCVF_DEVICE_ID ,
- IFCVF_SUBSYS_VENDOR_ID ,
- IFCVF_SUBSYS_DEVICE_ID ) },
+ { PCI_DEVICE_SUB ( N3000_VENDOR_ID ,
+ N3000_DEVICE_ID ,
+ N3000_SUBSYS_VENDOR_ID ,
+ N3000_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 );