2021-03-05 14:27:10

by Zhu, Lingshan

[permalink] [raw]
Subject: [PATCH 2/3] vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA

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 <[email protected]>
---
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


2021-03-08 08:38:25

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH 2/3] vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA


On 2021/3/5 10:19 下午, Zhu Lingshan wrote:
> 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 <[email protected]>
> ---
> 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


> +
> +#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);