net/bnxt: introduce Broadcom Stingray

Add support for Stingray PF devices ids:
BCM58802 = 0xd802
BCM58804 = 0xd804
BCM58808 = 0x16f0

Add Broadcom Stingray machine support based on armv8.

For product brief see:
https://www.broadcom.com/products/ethernet-connectivity/controllers/bcm58800

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
This commit is contained in:
Scott Branden 2018-04-13 14:07:54 -07:00 committed by Ferruh Yigit
parent 91cf42f6c4
commit df16bcc9d2
4 changed files with 35 additions and 3 deletions

View File

@ -0,0 +1,16 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) Broadcom 2017-2018. All rights reserved.
#
#include "defconfig_arm64-armv8a-linuxapp-gcc"
# Broadcom - Stingray
CONFIG_RTE_MACHINE="armv8a"
CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
# Doesn't support NUMA
CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
CONFIG_RTE_LIBRTE_VHOST_NUMA=n
CONFIG_RTE_EAL_IGB_UIO=y
CONFIG_RTE_KNI_KMOD=n

View File

@ -6,15 +6,15 @@ BNXT Poll Mode Driver
The bnxt poll mode library (**librte_pmd_bnxt**) implements support for:
* **Broadcom NetXtreme-C®/NetXtreme-E® BCM5730X and BCM574XX family of
Ethernet Network Controllers**
* **Broadcom NetXtreme-C®/NetXtreme-E®/NetXtreme-S®
BCM5730X / BCM574XX / BCM58000 family of Ethernet Network Controllers**
These adapters support Standards compliant 10/25/50/100Gbps 30MPPS
full-duplex throughput.
Information about the NetXtreme family of adapters can be found in the
`NetXtreme® Brand section
<https://www.broadcom.com/products/ethernet-communication-and-switching?technology%5B%5D=88>`_
<https://www.broadcom.com/products/ethernet-connectivity/controllers/>`_
of the `Broadcom website <http://www.broadcom.com/>`_.
* **Broadcom StrataGX® BCM5871X Series of Communucations Processors**

View File

@ -73,6 +73,16 @@ New Features
Added support for new NFB-200G2QL card.
* **Added support for Broadcom NetXtreme-S (BCM58800) family of controllers (aka Stingray)**
The BCM58800 devices feature a NetXtreme E-Series advanced network controller, a high-performance
ARM CPU block, PCI Express (PCIe) Gen3 interfaces, key accelerators for compute offload and a high-
speed memory subsystem including L3 cache and DDR4 interfaces, all interconnected by a coherent
Network-on-chip (NOC) fabric.
The ARM CPU subsystem features eight ARMv8 Cortex-A72 CPUs at 3.0 GHz, arranged in a multi-cluster
configuration.
* **Added support for virtio-user server mode.**
In a container environment if the vhost-user backend restarts, there's no way
for it to reconnect to virtio-user. To address this, support for server mode

View File

@ -69,6 +69,9 @@ int bnxt_logtype_driver;
#define BROADCOM_DEV_ID_57407_MF 0x16ea
#define BROADCOM_DEV_ID_57414_MF 0x16ec
#define BROADCOM_DEV_ID_57416_MF 0x16ee
#define BROADCOM_DEV_ID_58802 0xd802
#define BROADCOM_DEV_ID_58804 0xd804
#define BROADCOM_DEV_ID_58808 0x16f0
static const struct rte_pci_id bnxt_pci_id_map[] = {
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM,
@ -107,6 +110,9 @@ static const struct rte_pci_id bnxt_pci_id_map[] = {
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57317_SFP) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57414_MF) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57416_MF) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_58802) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_58804) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_58808) },
{ .vendor_id = 0, /* sentinel */ },
};