From 174dd78e936ea1170a224d044fbcf9ea7ce28226 Mon Sep 17 00:00:00 2001 From: Jerin Jacob Date: Tue, 8 Nov 2016 12:01:26 +0530 Subject: [PATCH] net/thunderx: support CN83xx devices 83xx NIC subsystem differs in new PCI subsystem_device_id and NICVF_CAP_DISABLE_APAD capability. Signed-off-by: Jerin Jacob --- doc/guides/nics/thunderx.rst | 1 + drivers/net/thunderx/base/nicvf_hw.c | 4 ++++ drivers/net/thunderx/base/nicvf_hw.h | 1 + drivers/net/thunderx/nicvf_ethdev.c | 7 +++++++ 4 files changed, 13 insertions(+) diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst index 9763bb65af..187c9a4a07 100644 --- a/doc/guides/nics/thunderx.rst +++ b/doc/guides/nics/thunderx.rst @@ -62,6 +62,7 @@ Supported ThunderX SoCs ----------------------- - CN88xx - CN81xx +- CN83xx Prerequisites ------------- diff --git a/drivers/net/thunderx/base/nicvf_hw.c b/drivers/net/thunderx/base/nicvf_hw.c index a69cd026d3..04b3b69c58 100644 --- a/drivers/net/thunderx/base/nicvf_hw.c +++ b/drivers/net/thunderx/base/nicvf_hw.c @@ -146,6 +146,10 @@ nicvf_base_init(struct nicvf *nic) if (nicvf_hw_version(nic) == PCI_SUB_DEVICE_ID_CN81XX_NICVF) nic->hwcap |= NICVF_CAP_TUNNEL_PARSING | NICVF_CAP_CQE_RX2; + if (nicvf_hw_version(nic) == PCI_SUB_DEVICE_ID_CN83XX_NICVF) + nic->hwcap |= NICVF_CAP_TUNNEL_PARSING | NICVF_CAP_CQE_RX2 | + NICVF_CAP_DISABLE_APAD; + return NICVF_OK; } diff --git a/drivers/net/thunderx/base/nicvf_hw.h b/drivers/net/thunderx/base/nicvf_hw.h index cf68be9e17..14fb2feb1b 100644 --- a/drivers/net/thunderx/base/nicvf_hw.h +++ b/drivers/net/thunderx/base/nicvf_hw.h @@ -43,6 +43,7 @@ #define PCI_SUB_DEVICE_ID_CN88XX_PASS1_NICVF 0xA11E #define PCI_SUB_DEVICE_ID_CN88XX_PASS2_NICVF 0xA134 #define PCI_SUB_DEVICE_ID_CN81XX_NICVF 0xA234 +#define PCI_SUB_DEVICE_ID_CN83XX_NICVF 0xA334 #define NICVF_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c index 501c8c2c96..466e49ce6e 100644 --- a/drivers/net/thunderx/nicvf_ethdev.c +++ b/drivers/net/thunderx/nicvf_ethdev.c @@ -2096,6 +2096,13 @@ static const struct rte_pci_id pci_id_nicvf_map[] = { .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM, .subsystem_device_id = PCI_SUB_DEVICE_ID_CN81XX_NICVF, }, + { + .class_id = RTE_CLASS_ANY_ID, + .vendor_id = PCI_VENDOR_ID_CAVIUM, + .device_id = PCI_DEVICE_ID_THUNDERX_NICVF, + .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM, + .subsystem_device_id = PCI_SUB_DEVICE_ID_CN83XX_NICVF, + }, { .vendor_id = 0, }, -- 2.20.1