* [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform @ 2023-02-16 13:59 Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 2/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh ` (3 more replies) 0 siblings, 4 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 13:59 UTC (permalink / raw) To: thomas; +Cc: dev, Ruifeng Wang, Bruce Richardson Add meson build configuration for NVIDIA BlueField-3 platform with Cortex-A78AE cores. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- config/arm/meson.build | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/arm/meson.build b/config/arm/meson.build index 6442ec9596..89d8f327f1 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -85,6 +85,9 @@ part_number_config_arm = { ['RTE_MAX_NUMA_NODES', 1] ] }, + '0xd42': { + 'march': 'armv8.4-a', + }, '0xd49': { 'march': 'armv8.5-a', 'march_features': ['sve2'], @@ -442,12 +445,24 @@ soc_thunderxt83 = { 'part_number': '0xa3' } +soc_bluefield3 = { + 'description': 'NVIDIA BlueField-3', + 'implementer': '0x41', + 'flags': [ + ['RTE_MAX_LCORE', 32], + ['RTE_MAX_NUMA_NODES', 1] + ], + 'part_number': '0xd42', + 'numa': false +} + ''' Start of SoCs list generic: Generic un-optimized build for armv8 aarch64 execution mode. generic_aarch32: Generic un-optimized build for armv8 aarch32 execution mode. armada: Marvell ARMADA bluefield: NVIDIA BlueField +bluefield3: NVIDIA BlueField 3 centriq2400: Qualcomm Centriq 2400 cn9k: Marvell OCTEON 9 cn10k: Marvell OCTEON 10 @@ -474,6 +489,7 @@ socs = { 'generic_aarch32': soc_generic_aarch32, 'armada': soc_armada, 'bluefield': soc_bluefield, + 'bluefield3': soc_bluefield3, 'centriq2400': soc_centriq2400, 'cn9k': soc_cn9k, 'cn10k' : soc_cn10k, -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs 2023-02-16 13:59 [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh @ 2023-02-16 13:59 ` Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 3/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh ` (2 subsequent siblings) 3 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 13:59 UTC (permalink / raw) To: thomas; +Cc: dev, Matan Azrad This adds the Bluefield-3 and ConnectX-7 device IDs to the list of supported NVIDIA devices that run the MLX5 compress PMD. The BlueField-3 device is still in development stage. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/crypto/mlx5/mlx5_crypto.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 498613939c..9dec1cfbe0 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -994,6 +994,14 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX7) + }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + }, { .vendor_id = 0 } -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 3/4] doc: update supported devices for NVIDIA NICs 2023-02-16 13:59 [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 2/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh @ 2023-02-16 13:59 ` Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 4/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 3 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 13:59 UTC (permalink / raw) To: thomas; +Cc: dev, Matan Azrad, Viacheslav Ovsiienko, Ori Kam This update the supproted list of devices to include missing ConnectX-7 in some drivers and add BlueFeild-3 Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- doc/guides/compressdevs/mlx5.rst | 5 +++-- doc/guides/cryptodevs/mlx5.rst | 12 ++++++++---- doc/guides/nics/mlx5.rst | 33 +++++++++++++++++++------------- doc/guides/platform/mlx5.rst | 5 +++-- doc/guides/regexdevs/mlx5.rst | 12 +++++++----- doc/guides/vdpadevs/mlx5.rst | 5 +++-- 6 files changed, 44 insertions(+), 28 deletions(-) diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst index 37839a59e3..8bf4423882 100644 --- a/doc/guides/compressdevs/mlx5.rst +++ b/doc/guides/compressdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 Compress Driver that are now NVIDIA trademarks. The mlx5 compress driver library -(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200/400 Gb/s adapters. Design ------ @@ -83,6 +83,7 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst index 95fcc94fc9..b35ac5f5f2 100644 --- a/doc/guides/cryptodevs/mlx5.rst +++ b/doc/guides/cryptodevs/mlx5.rst @@ -14,8 +14,9 @@ NVIDIA MLX5 Crypto Driver that are now NVIDIA trademarks. The MLX5 crypto driver library -(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6** -family adapters. +(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6**, +**NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-7**, **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** family adapters. Overview -------- @@ -88,7 +89,7 @@ The mlxreg dedicated tool should be used as follows: should not be specified. All the device ports should set it in order to move to operational mode. - For BlueField-2, the internal ports in the ARM system should also be set. + For BlueField-2, BlueField-3 the internal ports in the ARM system should also be set. - Query CRYPTO_OPERATIONAL register to make sure the device is in Operational mode. @@ -148,7 +149,9 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-6 200G MCX654106A-HCAT (2x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx -* NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| ConnectX\ |reg|-7 +* NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC +* NVIDIA\ |reg| BlueField\ |reg|-3 SmartNIC Limitations @@ -168,6 +171,7 @@ FW Prerequisites - xx.31.0328 for ConnectX-6. - xx.32.0108 for ConnectX-6 Dx and BlueField-2. +- xx.36.xxxx for ConnectX-7 and BlueField-3. Linux Prerequisites ~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index ee2df66e77..cec802dbef 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Ethernet Driver The mlx5 Ethernet poll mode driver library (**librte_net_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx** , **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField** and **NVIDIA BlueField-2** -families of 10/25/40/50/100/200 Gb/s adapters +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200/400 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. @@ -286,7 +286,7 @@ Limitations - Flex item: - - Hardware support: BlueField-2. + - Hardware support: **NVIDIA BlueField-2** and **NVIDIA BlueField-3**. - Flex item is supported on PF only. - Hardware limits ``header_length_mask_width`` up to 6 bits. - Firmware supports 8 global sample fields. @@ -440,7 +440,8 @@ Limitations - CRC: - ``RTE_ETH_RX_OFFLOAD_KEEP_CRC`` cannot be supported with decapsulation - for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, and BlueField-2). + for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField-2, + and BlueField-3). The capability bit ``scatter_fcs_w_decap_disable`` shows NIC support. - TX mbuf fast free: @@ -670,9 +671,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER9 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7 BlueField, BlueField-2, and BlueField-3. - ``rxq_pkt_pad_en`` parameter [int] @@ -685,9 +686,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER8 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - ``delay_drop`` parameter [int] @@ -925,8 +926,8 @@ for an additional list of options shared with other mlx5 drivers. - ``txq_mpw_en`` parameter [int] A nonzero value enables Enhanced Multi-Packet Write (eMPW) for ConnectX-5, - ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, BlueField, BlueField-2. - eMPW allows the Tx burst function to pack up multiple packets + ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2 + BlueField-3. eMPW allows the Tx burst function to pack up multiple packets in a single descriptor session in order to save PCI bandwidth and improve performance at the cost of a slightly higher CPU usage. When ``txq_inline_mpw`` is set along with ``txq_mpw_en``, @@ -971,7 +972,7 @@ for an additional list of options shared with other mlx5 drivers. - ``tx_vec_en`` parameter [int] A nonzero value enables Tx vector on ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2 NICs + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3 NICs if the number of global Tx queues on the port is less than ``txqs_max_vec``. The parameter is deprecated and ignored. @@ -1229,6 +1230,7 @@ The following NVIDIA device families are supported by the same mlx5 driver: - ConnectX-7 - BlueField - BlueField-2 + - BlueField-3 Below are detailed device names: @@ -1259,8 +1261,13 @@ Below are detailed device names: * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 200G MCX623105AN-VDAT (1x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) -* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25G) - +* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25Gg +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00SV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B6-00CN-AB0 (2x400) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00CC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00SC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B4-00EN-EA0 (1x100) Sub-Function ------------ diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst index 3cc1dd29e2..2d6fbe7e44 100644 --- a/doc/guides/platform/mlx5.rst +++ b/doc/guides/platform/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Common Driver The mlx5 common driver library (**librte_common_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx**, **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField**, and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters. +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200 Gb/s adapters. Information and documentation for these adapters can be found on the `NVIDIA website <https://www.nvidia.com/en-us/networking/>`_. @@ -187,6 +187,7 @@ The minimal supported versions are: - ConnectX-7: **28.33.2028** and above. - BlueField: **18.25.1010** and above. - BlueField-2: **24.28.1002** and above. + - BlueField-3: **32.36.3126** and above. The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules are packaged in `NVIDIA MLNX_OFED diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst index 19af72bdc8..174b848158 100644 --- a/doc/guides/regexdevs/mlx5.rst +++ b/doc/guides/regexdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 RegEx Driver that are now NVIDIA trademarks. The mlx5 RegEx (Regular Expression) driver library -(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200 Gb/s adapters. Design ------ @@ -43,16 +43,18 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- -- BlueField-2 running NVIDIA supported kernel. -- Enable the RegEx capabilities using system call from the BlueField-2. +- BlueField-2 or BlueField-3 running NVIDIA supported kernel. +- Enable the RegEx capabilities using system call from the BlueField-2 or BlueField-3. - Official support is not yet released. Limitations ----------- -- The firmware version must be greater than XX.31.0364 +- The firmware version must be greater than 24.31.0364 for BlueField-2 + and 32.36.xxxx for BlueField-3. diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst index e7cba1b996..f6c3068a21 100644 --- a/doc/guides/vdpadevs/mlx5.rst +++ b/doc/guides/vdpadevs/mlx5.rst @@ -16,8 +16,8 @@ NVIDIA MLX5 vDPA Driver The mlx5 vDPA (vhost data path acceleration) driver library (**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, **NVIDIA ConnectX7**, -**NVIDIA BlueField** and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in +**NVIDIA BlueField**, **NVIDIA BlueField-2** and **NVIDIA BlueField-3** families +of 10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. .. note:: @@ -39,6 +39,7 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) * NVIDIA\ |reg| BlueField SmartNIC 25G MBF1M332A-ASCAT (2x25G) * NVIDIA\ |reg| BlueField |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AAB_Ax Prerequisites ------------- -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 4/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs 2023-02-16 13:59 [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 2/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 3/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh @ 2023-02-16 13:59 ` Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 3 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 13:59 UTC (permalink / raw) To: thomas Cc: dev, Matan Azrad, Viacheslav Ovsiienko, Fan Zhang, Ashish Gupta, Ori Kam This updates the PCI device names for all NVIDIA BlueField family. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/common/mlx5/mlx5_common.h | 8 ++++---- drivers/common/mlx5/mlx5_common_pci.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- drivers/crypto/mlx5/mlx5_crypto.c | 4 ++-- drivers/net/mlx5/mlx5.c | 8 ++++---- drivers/net/mlx5/mlx5_flow.c | 10 +++++----- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/regex/mlx5/mlx5_regex.c | 4 ++-- drivers/vdpa/mlx5/mlx5_vdpa.c | 4 ++-- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h index c7bd703497..f8d07d6c6b 100644 --- a/drivers/common/mlx5/mlx5_common.h +++ b/drivers/common/mlx5/mlx5_common.h @@ -130,16 +130,16 @@ enum { PCI_DEVICE_ID_MELLANOX_CONNECTX5VF = 0x1018, PCI_DEVICE_ID_MELLANOX_CONNECTX5EX = 0x1019, PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF = 0x101a, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF = 0xa2d2, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF = 0xa2d3, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD = 0xa2d2, + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF = 0xa2d3, PCI_DEVICE_ID_MELLANOX_CONNECTX6 = 0x101b, PCI_DEVICE_ID_MELLANOX_CONNECTX6VF = 0x101c, PCI_DEVICE_ID_MELLANOX_CONNECTX6DX = 0x101d, PCI_DEVICE_ID_MELLANOX_CONNECTXVF = 0x101e, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF = 0xa2d6, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2 = 0xa2d6, PCI_DEVICE_ID_MELLANOX_CONNECTX6LX = 0x101f, PCI_DEVICE_ID_MELLANOX_CONNECTX7 = 0x1021, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF = 0Xa2dc, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3 = 0Xa2dc, }; /* Maximum number of simultaneous unicast MAC addresses. */ diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c index 73178ce0f3..5122c596bc 100644 --- a/drivers/common/mlx5/mlx5_common_pci.c +++ b/drivers/common/mlx5/mlx5_common_pci.c @@ -116,7 +116,7 @@ mlx5_dev_is_vf_pci(struct rte_pci_device *pci_dev) case PCI_DEVICE_ID_MELLANOX_CONNECTX4LXVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5VF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX6VF: case PCI_DEVICE_ID_MELLANOX_CONNECTXVF: return true; diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 459e4b5e8a..430f769d41 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -786,11 +786,11 @@ mlx5_compress_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_compress_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 9dec1cfbe0..5267f48c1e 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -992,7 +992,7 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -1000,7 +1000,7 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index cfc4609448..f55c1caca0 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -3202,11 +3202,11 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3226,7 +3226,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3238,7 +3238,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 73e6d3b486..a6a426caf7 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -11221,8 +11221,8 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev, return NULL; } switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: break; default: rte_flow_error_set(error, ENOTSUP, @@ -11470,9 +11470,9 @@ int16_t mlx5_flow_get_esw_manager_vport_id(struct rte_eth_dev *dev) if (priv->pci_dev == NULL) return 0; switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: /* * In old FW which doesn't expose the E-Switch Manager vport ID in the capability, * only the BF embedded CPUs control the E-Switch Manager port. Hence, diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index 5543f2c570..419e913559 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -767,7 +767,7 @@ txq_set_params(struct mlx5_txq_ctrl *txq_ctrl) txqs_inline = #if defined(RTE_ARCH_ARM64) (priv->pci_dev && priv->pci_dev->id.device_id == - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) ? + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) ? MLX5_INLINE_MAX_TXQS_BLUEFIELD : #endif MLX5_INLINE_MAX_TXQS; diff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c index 4c20daac94..4ed62b538b 100644 --- a/drivers/regex/mlx5/mlx5_regex.c +++ b/drivers/regex/mlx5/mlx5_regex.c @@ -156,11 +156,11 @@ mlx5_regex_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_regex_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 026daa3f24..f8dfa95133 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -961,7 +961,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -973,7 +973,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 0/4] support NVIDIA Bluefield-3 device 2023-02-16 13:59 [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh ` (2 preceding siblings ...) 2023-02-16 13:59 ` [PATCH 4/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh @ 2023-02-16 14:04 ` Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh ` (4 more replies) 3 siblings, 5 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 14:04 UTC (permalink / raw) To: thomas; +Cc: dev this series is intentioned to update missing docs, drivers and config for supporting NVIDIA BlueField-3 device. --- v2: send cover letter fix patches order --- Raslan Darawsheh (4): mlx: update PCI device IDs names for NVIDIA BlueField NICs config/arm: add NVIDIA BlueField-3 platform crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs doc: update supported devices for NVIDIA NICs config/arm/meson.build | 16 +++++++++++++ doc/guides/compressdevs/mlx5.rst | 5 ++-- doc/guides/cryptodevs/mlx5.rst | 12 ++++++---- doc/guides/nics/mlx5.rst | 33 ++++++++++++++++----------- doc/guides/platform/mlx5.rst | 5 ++-- doc/guides/regexdevs/mlx5.rst | 12 ++++++---- doc/guides/vdpadevs/mlx5.rst | 5 ++-- drivers/common/mlx5/mlx5_common.h | 8 +++---- drivers/common/mlx5/mlx5_common_pci.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- drivers/crypto/mlx5/mlx5_crypto.c | 10 +++++++- drivers/net/mlx5/mlx5.c | 8 +++---- drivers/net/mlx5/mlx5_flow.c | 10 ++++---- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/regex/mlx5/mlx5_regex.c | 4 ++-- drivers/vdpa/mlx5/mlx5_vdpa.c | 4 ++-- 16 files changed, 90 insertions(+), 50 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh @ 2023-02-16 14:04 ` Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh ` (3 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 14:04 UTC (permalink / raw) To: thomas Cc: dev, Matan Azrad, Viacheslav Ovsiienko, Fan Zhang, Ashish Gupta, Ori Kam This updates the PCI device names for all NVIDIA BlueField family. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/common/mlx5/mlx5_common.h | 8 ++++---- drivers/common/mlx5/mlx5_common_pci.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- drivers/crypto/mlx5/mlx5_crypto.c | 2 +- drivers/net/mlx5/mlx5.c | 8 ++++---- drivers/net/mlx5/mlx5_flow.c | 10 +++++----- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/regex/mlx5/mlx5_regex.c | 4 ++-- drivers/vdpa/mlx5/mlx5_vdpa.c | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h index c7bd703497..f8d07d6c6b 100644 --- a/drivers/common/mlx5/mlx5_common.h +++ b/drivers/common/mlx5/mlx5_common.h @@ -130,16 +130,16 @@ enum { PCI_DEVICE_ID_MELLANOX_CONNECTX5VF = 0x1018, PCI_DEVICE_ID_MELLANOX_CONNECTX5EX = 0x1019, PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF = 0x101a, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF = 0xa2d2, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF = 0xa2d3, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD = 0xa2d2, + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF = 0xa2d3, PCI_DEVICE_ID_MELLANOX_CONNECTX6 = 0x101b, PCI_DEVICE_ID_MELLANOX_CONNECTX6VF = 0x101c, PCI_DEVICE_ID_MELLANOX_CONNECTX6DX = 0x101d, PCI_DEVICE_ID_MELLANOX_CONNECTXVF = 0x101e, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF = 0xa2d6, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2 = 0xa2d6, PCI_DEVICE_ID_MELLANOX_CONNECTX6LX = 0x101f, PCI_DEVICE_ID_MELLANOX_CONNECTX7 = 0x1021, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF = 0Xa2dc, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3 = 0Xa2dc, }; /* Maximum number of simultaneous unicast MAC addresses. */ diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c index 73178ce0f3..5122c596bc 100644 --- a/drivers/common/mlx5/mlx5_common_pci.c +++ b/drivers/common/mlx5/mlx5_common_pci.c @@ -116,7 +116,7 @@ mlx5_dev_is_vf_pci(struct rte_pci_device *pci_dev) case PCI_DEVICE_ID_MELLANOX_CONNECTX4LXVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5VF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX6VF: case PCI_DEVICE_ID_MELLANOX_CONNECTXVF: return true; diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 459e4b5e8a..430f769d41 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -786,11 +786,11 @@ mlx5_compress_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_compress_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 498613939c..2988642857 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -992,7 +992,7 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index cfc4609448..f55c1caca0 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -3202,11 +3202,11 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3226,7 +3226,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3238,7 +3238,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 73e6d3b486..a6a426caf7 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -11221,8 +11221,8 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev, return NULL; } switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: break; default: rte_flow_error_set(error, ENOTSUP, @@ -11470,9 +11470,9 @@ int16_t mlx5_flow_get_esw_manager_vport_id(struct rte_eth_dev *dev) if (priv->pci_dev == NULL) return 0; switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: /* * In old FW which doesn't expose the E-Switch Manager vport ID in the capability, * only the BF embedded CPUs control the E-Switch Manager port. Hence, diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index 5543f2c570..419e913559 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -767,7 +767,7 @@ txq_set_params(struct mlx5_txq_ctrl *txq_ctrl) txqs_inline = #if defined(RTE_ARCH_ARM64) (priv->pci_dev && priv->pci_dev->id.device_id == - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) ? + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) ? MLX5_INLINE_MAX_TXQS_BLUEFIELD : #endif MLX5_INLINE_MAX_TXQS; diff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c index 4c20daac94..4ed62b538b 100644 --- a/drivers/regex/mlx5/mlx5_regex.c +++ b/drivers/regex/mlx5/mlx5_regex.c @@ -156,11 +156,11 @@ mlx5_regex_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_regex_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 026daa3f24..f8dfa95133 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -961,7 +961,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -973,7 +973,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh @ 2023-02-16 14:04 ` Raslan Darawsheh 2023-02-20 2:50 ` Ruifeng Wang 2023-02-16 14:04 ` [PATCH v2 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh ` (2 subsequent siblings) 4 siblings, 1 reply; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 14:04 UTC (permalink / raw) To: thomas; +Cc: dev, Ruifeng Wang, Bruce Richardson Add meson build configuration for NVIDIA BlueField-3 platform with Cortex-A78AE cores. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- config/arm/meson.build | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/arm/meson.build b/config/arm/meson.build index 6442ec9596..89d8f327f1 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -85,6 +85,9 @@ part_number_config_arm = { ['RTE_MAX_NUMA_NODES', 1] ] }, + '0xd42': { + 'march': 'armv8.4-a', + }, '0xd49': { 'march': 'armv8.5-a', 'march_features': ['sve2'], @@ -442,12 +445,24 @@ soc_thunderxt83 = { 'part_number': '0xa3' } +soc_bluefield3 = { + 'description': 'NVIDIA BlueField-3', + 'implementer': '0x41', + 'flags': [ + ['RTE_MAX_LCORE', 32], + ['RTE_MAX_NUMA_NODES', 1] + ], + 'part_number': '0xd42', + 'numa': false +} + ''' Start of SoCs list generic: Generic un-optimized build for armv8 aarch64 execution mode. generic_aarch32: Generic un-optimized build for armv8 aarch32 execution mode. armada: Marvell ARMADA bluefield: NVIDIA BlueField +bluefield3: NVIDIA BlueField 3 centriq2400: Qualcomm Centriq 2400 cn9k: Marvell OCTEON 9 cn10k: Marvell OCTEON 10 @@ -474,6 +489,7 @@ socs = { 'generic_aarch32': soc_generic_aarch32, 'armada': soc_armada, 'bluefield': soc_bluefield, + 'bluefield3': soc_bluefield3, 'centriq2400': soc_centriq2400, 'cn9k': soc_cn9k, 'cn10k' : soc_cn10k, -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform 2023-02-16 14:04 ` [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh @ 2023-02-20 2:50 ` Ruifeng Wang 2023-02-20 8:42 ` Raslan Darawsheh 0 siblings, 1 reply; 17+ messages in thread From: Ruifeng Wang @ 2023-02-20 2:50 UTC (permalink / raw) To: Raslan Darawsheh, thomas; +Cc: dev, Bruce Richardson, nd > -----Original Message----- > From: Raslan Darawsheh <rasland@nvidia.com> > Sent: Thursday, February 16, 2023 10:04 PM > To: thomas@monjalon.net > Cc: dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson > <bruce.richardson@intel.com> > Subject: [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform > > Add meson build configuration for NVIDIA BlueField-3 platform with Cortex-A78AE cores. > > Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> > --- > config/arm/meson.build | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > A cross-file 'config/arm/arm64_bluefield3_linux_gcc' is also needed. Thanks and regards /Ruifeng ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform 2023-02-20 2:50 ` Ruifeng Wang @ 2023-02-20 8:42 ` Raslan Darawsheh 0 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:42 UTC (permalink / raw) To: Ruifeng Wang, NBU-Contact-Thomas Monjalon (EXTERNAL) Cc: dev, Bruce Richardson, nd Hi, > -----Original Message----- > From: Ruifeng Wang <Ruifeng.Wang@arm.com> > Sent: Monday, February 20, 2023 4:51 AM > To: Raslan Darawsheh <rasland@nvidia.com>; NBU-Contact-Thomas > Monjalon (EXTERNAL) <thomas@monjalon.net> > Cc: dev@dpdk.org; Bruce Richardson <bruce.richardson@intel.com>; nd > <nd@arm.com> > Subject: RE: [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform > > > -----Original Message----- > > From: Raslan Darawsheh <rasland@nvidia.com> > > Sent: Thursday, February 16, 2023 10:04 PM > > To: thomas@monjalon.net > > Cc: dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce > > Richardson <bruce.richardson@intel.com> > > Subject: [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform > > > > Add meson build configuration for NVIDIA BlueField-3 platform with > Cortex-A78AE cores. > > > > Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> > > --- > > config/arm/meson.build | 16 ++++++++++++++++ > > 1 file changed, 16 insertions(+) > > > A cross-file 'config/arm/arm64_bluefield3_linux_gcc' is also needed. > > Thanks and regards > /Ruifeng Thanks for the input I'll add it in the next version, Kindest regards, Raslan Darawsheh ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh @ 2023-02-16 14:04 ` Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 14:04 UTC (permalink / raw) To: thomas; +Cc: dev, Matan Azrad This adds the Bluefield-3 and ConnectX-7 device IDs to the list of supported NVIDIA devices that run the MLX5 compress PMD. The BlueField-3 device is still in development stage. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/crypto/mlx5/mlx5_crypto.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 2988642857..5267f48c1e 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -994,6 +994,14 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX7) + }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) + }, { .vendor_id = 0 } -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 4/4] doc: update supported devices for NVIDIA NICs 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh ` (2 preceding siblings ...) 2023-02-16 14:04 ` [PATCH v2 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh @ 2023-02-16 14:04 ` Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-16 14:04 UTC (permalink / raw) To: thomas; +Cc: dev, Matan Azrad, Viacheslav Ovsiienko, Ori Kam This update the supproted list of devices to include missing ConnectX-7 in some drivers and add BlueFeild-3 Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- doc/guides/compressdevs/mlx5.rst | 5 +++-- doc/guides/cryptodevs/mlx5.rst | 12 ++++++++---- doc/guides/nics/mlx5.rst | 33 +++++++++++++++++++------------- doc/guides/platform/mlx5.rst | 5 +++-- doc/guides/regexdevs/mlx5.rst | 12 +++++++----- doc/guides/vdpadevs/mlx5.rst | 5 +++-- 6 files changed, 44 insertions(+), 28 deletions(-) diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst index 37839a59e3..8bf4423882 100644 --- a/doc/guides/compressdevs/mlx5.rst +++ b/doc/guides/compressdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 Compress Driver that are now NVIDIA trademarks. The mlx5 compress driver library -(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200/400 Gb/s adapters. Design ------ @@ -83,6 +83,7 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst index 95fcc94fc9..b35ac5f5f2 100644 --- a/doc/guides/cryptodevs/mlx5.rst +++ b/doc/guides/cryptodevs/mlx5.rst @@ -14,8 +14,9 @@ NVIDIA MLX5 Crypto Driver that are now NVIDIA trademarks. The MLX5 crypto driver library -(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6** -family adapters. +(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6**, +**NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-7**, **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** family adapters. Overview -------- @@ -88,7 +89,7 @@ The mlxreg dedicated tool should be used as follows: should not be specified. All the device ports should set it in order to move to operational mode. - For BlueField-2, the internal ports in the ARM system should also be set. + For BlueField-2, BlueField-3 the internal ports in the ARM system should also be set. - Query CRYPTO_OPERATIONAL register to make sure the device is in Operational mode. @@ -148,7 +149,9 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-6 200G MCX654106A-HCAT (2x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx -* NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| ConnectX\ |reg|-7 +* NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC +* NVIDIA\ |reg| BlueField\ |reg|-3 SmartNIC Limitations @@ -168,6 +171,7 @@ FW Prerequisites - xx.31.0328 for ConnectX-6. - xx.32.0108 for ConnectX-6 Dx and BlueField-2. +- xx.36.xxxx for ConnectX-7 and BlueField-3. Linux Prerequisites ~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index ee2df66e77..cec802dbef 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Ethernet Driver The mlx5 Ethernet poll mode driver library (**librte_net_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx** , **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField** and **NVIDIA BlueField-2** -families of 10/25/40/50/100/200 Gb/s adapters +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200/400 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. @@ -286,7 +286,7 @@ Limitations - Flex item: - - Hardware support: BlueField-2. + - Hardware support: **NVIDIA BlueField-2** and **NVIDIA BlueField-3**. - Flex item is supported on PF only. - Hardware limits ``header_length_mask_width`` up to 6 bits. - Firmware supports 8 global sample fields. @@ -440,7 +440,8 @@ Limitations - CRC: - ``RTE_ETH_RX_OFFLOAD_KEEP_CRC`` cannot be supported with decapsulation - for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, and BlueField-2). + for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField-2, + and BlueField-3). The capability bit ``scatter_fcs_w_decap_disable`` shows NIC support. - TX mbuf fast free: @@ -670,9 +671,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER9 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7 BlueField, BlueField-2, and BlueField-3. - ``rxq_pkt_pad_en`` parameter [int] @@ -685,9 +686,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER8 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - ``delay_drop`` parameter [int] @@ -925,8 +926,8 @@ for an additional list of options shared with other mlx5 drivers. - ``txq_mpw_en`` parameter [int] A nonzero value enables Enhanced Multi-Packet Write (eMPW) for ConnectX-5, - ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, BlueField, BlueField-2. - eMPW allows the Tx burst function to pack up multiple packets + ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2 + BlueField-3. eMPW allows the Tx burst function to pack up multiple packets in a single descriptor session in order to save PCI bandwidth and improve performance at the cost of a slightly higher CPU usage. When ``txq_inline_mpw`` is set along with ``txq_mpw_en``, @@ -971,7 +972,7 @@ for an additional list of options shared with other mlx5 drivers. - ``tx_vec_en`` parameter [int] A nonzero value enables Tx vector on ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2 NICs + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3 NICs if the number of global Tx queues on the port is less than ``txqs_max_vec``. The parameter is deprecated and ignored. @@ -1229,6 +1230,7 @@ The following NVIDIA device families are supported by the same mlx5 driver: - ConnectX-7 - BlueField - BlueField-2 + - BlueField-3 Below are detailed device names: @@ -1259,8 +1261,13 @@ Below are detailed device names: * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 200G MCX623105AN-VDAT (1x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) -* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25G) - +* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25Gg +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00SV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B6-00CN-AB0 (2x400) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00CC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00SC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B4-00EN-EA0 (1x100) Sub-Function ------------ diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst index 3cc1dd29e2..2d6fbe7e44 100644 --- a/doc/guides/platform/mlx5.rst +++ b/doc/guides/platform/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Common Driver The mlx5 common driver library (**librte_common_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx**, **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField**, and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters. +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200 Gb/s adapters. Information and documentation for these adapters can be found on the `NVIDIA website <https://www.nvidia.com/en-us/networking/>`_. @@ -187,6 +187,7 @@ The minimal supported versions are: - ConnectX-7: **28.33.2028** and above. - BlueField: **18.25.1010** and above. - BlueField-2: **24.28.1002** and above. + - BlueField-3: **32.36.3126** and above. The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules are packaged in `NVIDIA MLNX_OFED diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst index 19af72bdc8..174b848158 100644 --- a/doc/guides/regexdevs/mlx5.rst +++ b/doc/guides/regexdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 RegEx Driver that are now NVIDIA trademarks. The mlx5 RegEx (Regular Expression) driver library -(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200 Gb/s adapters. Design ------ @@ -43,16 +43,18 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- -- BlueField-2 running NVIDIA supported kernel. -- Enable the RegEx capabilities using system call from the BlueField-2. +- BlueField-2 or BlueField-3 running NVIDIA supported kernel. +- Enable the RegEx capabilities using system call from the BlueField-2 or BlueField-3. - Official support is not yet released. Limitations ----------- -- The firmware version must be greater than XX.31.0364 +- The firmware version must be greater than 24.31.0364 for BlueField-2 + and 32.36.xxxx for BlueField-3. diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst index e7cba1b996..f6c3068a21 100644 --- a/doc/guides/vdpadevs/mlx5.rst +++ b/doc/guides/vdpadevs/mlx5.rst @@ -16,8 +16,8 @@ NVIDIA MLX5 vDPA Driver The mlx5 vDPA (vhost data path acceleration) driver library (**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, **NVIDIA ConnectX7**, -**NVIDIA BlueField** and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in +**NVIDIA BlueField**, **NVIDIA BlueField-2** and **NVIDIA BlueField-3** families +of 10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. .. note:: @@ -39,6 +39,7 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) * NVIDIA\ |reg| BlueField SmartNIC 25G MBF1M332A-ASCAT (2x25G) * NVIDIA\ |reg| BlueField |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AAB_Ax Prerequisites ------------- -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 0/4] support NVIDIA Bluefield-3 device 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh ` (3 preceding siblings ...) 2023-02-16 14:04 ` [PATCH v2 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh @ 2023-02-20 8:48 ` Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh ` (4 more replies) 4 siblings, 5 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:48 UTC (permalink / raw) To: thomas; +Cc: dev, ruifeng.wang this series is intentioned to update missing docs, drivers and config for supporting NVIDIA BlueField-3 device. --- v2: send cover letter fix patches order v3: add missing cross build file --- Raslan Darawsheh (4): mlx: update PCI device IDs names for NVIDIA BlueField NICs config/arm: add NVIDIA BlueField-3 platform crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs doc: update supported devices for NVIDIA NICs config/arm/arm64_bluefield3_linux_gcc | 16 +++++++++++++ config/arm/meson.build | 16 +++++++++++++ doc/guides/compressdevs/mlx5.rst | 5 ++-- doc/guides/cryptodevs/mlx5.rst | 12 ++++++---- doc/guides/nics/mlx5.rst | 33 ++++++++++++++++----------- doc/guides/platform/mlx5.rst | 5 ++-- doc/guides/regexdevs/mlx5.rst | 12 ++++++---- doc/guides/vdpadevs/mlx5.rst | 5 ++-- drivers/common/mlx5/mlx5_common.h | 8 +++---- drivers/common/mlx5/mlx5_common_pci.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- drivers/crypto/mlx5/mlx5_crypto.c | 10 +++++++- drivers/net/mlx5/mlx5.c | 8 +++---- drivers/net/mlx5/mlx5_flow.c | 10 ++++---- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/regex/mlx5/mlx5_regex.c | 4 ++-- drivers/vdpa/mlx5/mlx5_vdpa.c | 4 ++-- 17 files changed, 106 insertions(+), 50 deletions(-) create mode 100644 config/arm/arm64_bluefield3_linux_gcc -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh @ 2023-02-20 8:48 ` Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh ` (3 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:48 UTC (permalink / raw) To: thomas Cc: dev, ruifeng.wang, Matan Azrad, Viacheslav Ovsiienko, Fan Zhang, Ashish Gupta, Ori Kam This updates the PCI device names for all NVIDIA BlueField family. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/common/mlx5/mlx5_common.h | 8 ++++---- drivers/common/mlx5/mlx5_common_pci.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- drivers/crypto/mlx5/mlx5_crypto.c | 2 +- drivers/net/mlx5/mlx5.c | 8 ++++---- drivers/net/mlx5/mlx5_flow.c | 10 +++++----- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/regex/mlx5/mlx5_regex.c | 4 ++-- drivers/vdpa/mlx5/mlx5_vdpa.c | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h index c7bd703497..f8d07d6c6b 100644 --- a/drivers/common/mlx5/mlx5_common.h +++ b/drivers/common/mlx5/mlx5_common.h @@ -130,16 +130,16 @@ enum { PCI_DEVICE_ID_MELLANOX_CONNECTX5VF = 0x1018, PCI_DEVICE_ID_MELLANOX_CONNECTX5EX = 0x1019, PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF = 0x101a, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF = 0xa2d2, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF = 0xa2d3, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD = 0xa2d2, + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF = 0xa2d3, PCI_DEVICE_ID_MELLANOX_CONNECTX6 = 0x101b, PCI_DEVICE_ID_MELLANOX_CONNECTX6VF = 0x101c, PCI_DEVICE_ID_MELLANOX_CONNECTX6DX = 0x101d, PCI_DEVICE_ID_MELLANOX_CONNECTXVF = 0x101e, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF = 0xa2d6, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2 = 0xa2d6, PCI_DEVICE_ID_MELLANOX_CONNECTX6LX = 0x101f, PCI_DEVICE_ID_MELLANOX_CONNECTX7 = 0x1021, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF = 0Xa2dc, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3 = 0Xa2dc, }; /* Maximum number of simultaneous unicast MAC addresses. */ diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c index 73178ce0f3..5122c596bc 100644 --- a/drivers/common/mlx5/mlx5_common_pci.c +++ b/drivers/common/mlx5/mlx5_common_pci.c @@ -116,7 +116,7 @@ mlx5_dev_is_vf_pci(struct rte_pci_device *pci_dev) case PCI_DEVICE_ID_MELLANOX_CONNECTX4LXVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5VF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX6VF: case PCI_DEVICE_ID_MELLANOX_CONNECTXVF: return true; diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 459e4b5e8a..430f769d41 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -786,11 +786,11 @@ mlx5_compress_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_compress_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 498613939c..2988642857 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -992,7 +992,7 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index cfc4609448..f55c1caca0 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -3202,11 +3202,11 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELDVF) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3226,7 +3226,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -3238,7 +3238,7 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 73e6d3b486..a6a426caf7 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -11221,8 +11221,8 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev, return NULL; } switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: break; default: rte_flow_error_set(error, ENOTSUP, @@ -11470,9 +11470,9 @@ int16_t mlx5_flow_get_esw_manager_vport_id(struct rte_eth_dev *dev) if (priv->pci_dev == NULL) return 0; switch (priv->pci_dev->id.device_id) { - case PCI_DEVICE_ID_MELLANOX_CONNECTX5BF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: - case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD2: + case PCI_DEVICE_ID_MELLANOX_BLUEFIELD3: /* * In old FW which doesn't expose the E-Switch Manager vport ID in the capability, * only the BF embedded CPUs control the E-Switch Manager port. Hence, diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index 5543f2c570..419e913559 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -767,7 +767,7 @@ txq_set_params(struct mlx5_txq_ctrl *txq_ctrl) txqs_inline = #if defined(RTE_ARCH_ARM64) (priv->pci_dev && priv->pci_dev->id.device_id == - PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) ? + PCI_DEVICE_ID_MELLANOX_BLUEFIELD) ? MLX5_INLINE_MAX_TXQS_BLUEFIELD : #endif MLX5_INLINE_MAX_TXQS; diff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c index 4c20daac94..4ed62b538b 100644 --- a/drivers/regex/mlx5/mlx5_regex.c +++ b/drivers/regex/mlx5/mlx5_regex.c @@ -156,11 +156,11 @@ mlx5_regex_dev_remove(struct mlx5_common_device *cdev) static const struct rte_pci_id mlx5_regex_pci_id_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 026daa3f24..f8dfa95133 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -961,7 +961,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, @@ -973,7 +973,7 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = { }, { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, - PCI_DEVICE_ID_MELLANOX_CONNECTX7BF) + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) }, { .vendor_id = 0 -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 2/4] config/arm: add NVIDIA BlueField-3 platform 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh @ 2023-02-20 8:48 ` Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh ` (2 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:48 UTC (permalink / raw) To: thomas; +Cc: dev, ruifeng.wang, Bruce Richardson Add meson build configuration for NVIDIA BlueField-3 platform with Cortex-A78AE cores. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- config/arm/arm64_bluefield3_linux_gcc | 16 ++++++++++++++++ config/arm/meson.build | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 config/arm/arm64_bluefield3_linux_gcc diff --git a/config/arm/arm64_bluefield3_linux_gcc b/config/arm/arm64_bluefield3_linux_gcc new file mode 100644 index 0000000000..775cf5883d --- /dev/null +++ b/config/arm/arm64_bluefield3_linux_gcc @@ -0,0 +1,16 @@ +[binaries] +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pkgconfig = 'aarch64-linux-gnu-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8.4-a' +endian = 'little' + +[properties] +platform = 'bluefield3' diff --git a/config/arm/meson.build b/config/arm/meson.build index 6442ec9596..89d8f327f1 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -85,6 +85,9 @@ part_number_config_arm = { ['RTE_MAX_NUMA_NODES', 1] ] }, + '0xd42': { + 'march': 'armv8.4-a', + }, '0xd49': { 'march': 'armv8.5-a', 'march_features': ['sve2'], @@ -442,12 +445,24 @@ soc_thunderxt83 = { 'part_number': '0xa3' } +soc_bluefield3 = { + 'description': 'NVIDIA BlueField-3', + 'implementer': '0x41', + 'flags': [ + ['RTE_MAX_LCORE', 32], + ['RTE_MAX_NUMA_NODES', 1] + ], + 'part_number': '0xd42', + 'numa': false +} + ''' Start of SoCs list generic: Generic un-optimized build for armv8 aarch64 execution mode. generic_aarch32: Generic un-optimized build for armv8 aarch32 execution mode. armada: Marvell ARMADA bluefield: NVIDIA BlueField +bluefield3: NVIDIA BlueField 3 centriq2400: Qualcomm Centriq 2400 cn9k: Marvell OCTEON 9 cn10k: Marvell OCTEON 10 @@ -474,6 +489,7 @@ socs = { 'generic_aarch32': soc_generic_aarch32, 'armada': soc_armada, 'bluefield': soc_bluefield, + 'bluefield3': soc_bluefield3, 'centriq2400': soc_centriq2400, 'cn9k': soc_cn9k, 'cn10k' : soc_cn10k, -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh @ 2023-02-20 8:48 ` Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh 2023-02-20 10:40 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Thomas Monjalon 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:48 UTC (permalink / raw) To: thomas; +Cc: dev, ruifeng.wang, Matan Azrad This adds the Bluefield-3 and ConnectX-7 device IDs to the list of supported NVIDIA devices that run the MLX5 compress PMD. The BlueField-3 device is still in development stage. Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/crypto/mlx5/mlx5_crypto.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c index 2988642857..5267f48c1e 100644 --- a/drivers/crypto/mlx5/mlx5_crypto.c +++ b/drivers/crypto/mlx5/mlx5_crypto.c @@ -994,6 +994,14 @@ static const struct rte_pci_id mlx5_crypto_pci_id_map[] = { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, PCI_DEVICE_ID_MELLANOX_BLUEFIELD2) }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX7) + }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_BLUEFIELD3) + }, { .vendor_id = 0 } -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 4/4] doc: update supported devices for NVIDIA NICs 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh ` (2 preceding siblings ...) 2023-02-20 8:48 ` [PATCH v3 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh @ 2023-02-20 8:48 ` Raslan Darawsheh 2023-02-20 10:40 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Thomas Monjalon 4 siblings, 0 replies; 17+ messages in thread From: Raslan Darawsheh @ 2023-02-20 8:48 UTC (permalink / raw) To: thomas; +Cc: dev, ruifeng.wang, Matan Azrad, Viacheslav Ovsiienko, Ori Kam This update the supproted list of devices to include missing ConnectX-7 in some drivers and add BlueFeild-3 Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> --- doc/guides/compressdevs/mlx5.rst | 5 +++-- doc/guides/cryptodevs/mlx5.rst | 12 ++++++++---- doc/guides/nics/mlx5.rst | 33 +++++++++++++++++++------------- doc/guides/platform/mlx5.rst | 5 +++-- doc/guides/regexdevs/mlx5.rst | 12 +++++++----- doc/guides/vdpadevs/mlx5.rst | 5 +++-- 6 files changed, 44 insertions(+), 28 deletions(-) diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst index 37839a59e3..8bf4423882 100644 --- a/doc/guides/compressdevs/mlx5.rst +++ b/doc/guides/compressdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 Compress Driver that are now NVIDIA trademarks. The mlx5 compress driver library -(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200/400 Gb/s adapters. Design ------ @@ -83,6 +83,7 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst index 95fcc94fc9..b35ac5f5f2 100644 --- a/doc/guides/cryptodevs/mlx5.rst +++ b/doc/guides/cryptodevs/mlx5.rst @@ -14,8 +14,9 @@ NVIDIA MLX5 Crypto Driver that are now NVIDIA trademarks. The MLX5 crypto driver library -(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6** -family adapters. +(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6**, +**NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-7**, **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** family adapters. Overview -------- @@ -88,7 +89,7 @@ The mlxreg dedicated tool should be used as follows: should not be specified. All the device ports should set it in order to move to operational mode. - For BlueField-2, the internal ports in the ARM system should also be set. + For BlueField-2, BlueField-3 the internal ports in the ARM system should also be set. - Query CRYPTO_OPERATIONAL register to make sure the device is in Operational mode. @@ -148,7 +149,9 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-6 200G MCX654106A-HCAT (2x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx -* NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| ConnectX\ |reg|-7 +* NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC +* NVIDIA\ |reg| BlueField\ |reg|-3 SmartNIC Limitations @@ -168,6 +171,7 @@ FW Prerequisites - xx.31.0328 for ConnectX-6. - xx.32.0108 for ConnectX-6 Dx and BlueField-2. +- xx.36.xxxx for ConnectX-7 and BlueField-3. Linux Prerequisites ~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index ee2df66e77..cec802dbef 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Ethernet Driver The mlx5 Ethernet poll mode driver library (**librte_net_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx** , **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField** and **NVIDIA BlueField-2** -families of 10/25/40/50/100/200 Gb/s adapters +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200/400 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. @@ -286,7 +286,7 @@ Limitations - Flex item: - - Hardware support: BlueField-2. + - Hardware support: **NVIDIA BlueField-2** and **NVIDIA BlueField-3**. - Flex item is supported on PF only. - Hardware limits ``header_length_mask_width`` up to 6 bits. - Firmware supports 8 global sample fields. @@ -440,7 +440,8 @@ Limitations - CRC: - ``RTE_ETH_RX_OFFLOAD_KEEP_CRC`` cannot be supported with decapsulation - for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, and BlueField-2). + for some NICs (such as ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField-2, + and BlueField-3). The capability bit ``scatter_fcs_w_decap_disable`` shows NIC support. - TX mbuf fast free: @@ -670,9 +671,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER9 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7 BlueField, BlueField-2, and BlueField-3. - ``rxq_pkt_pad_en`` parameter [int] @@ -685,9 +686,9 @@ for an additional list of options shared with other mlx5 drivers. Supported on: - x86_64 with ConnectX-4, ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - POWER8 and ARMv8 with ConnectX-4 Lx, ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2. + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3. - ``delay_drop`` parameter [int] @@ -925,8 +926,8 @@ for an additional list of options shared with other mlx5 drivers. - ``txq_mpw_en`` parameter [int] A nonzero value enables Enhanced Multi-Packet Write (eMPW) for ConnectX-5, - ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, BlueField, BlueField-2. - eMPW allows the Tx burst function to pack up multiple packets + ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2 + BlueField-3. eMPW allows the Tx burst function to pack up multiple packets in a single descriptor session in order to save PCI bandwidth and improve performance at the cost of a slightly higher CPU usage. When ``txq_inline_mpw`` is set along with ``txq_mpw_en``, @@ -971,7 +972,7 @@ for an additional list of options shared with other mlx5 drivers. - ``tx_vec_en`` parameter [int] A nonzero value enables Tx vector on ConnectX-5, ConnectX-6, ConnectX-6 Dx, - ConnectX-6 Lx, BlueField and BlueField-2 NICs + ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, and BlueField-3 NICs if the number of global Tx queues on the port is less than ``txqs_max_vec``. The parameter is deprecated and ignored. @@ -1229,6 +1230,7 @@ The following NVIDIA device families are supported by the same mlx5 driver: - ConnectX-7 - BlueField - BlueField-2 + - BlueField-3 Below are detailed device names: @@ -1259,8 +1261,13 @@ Below are detailed device names: * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 200G MCX623105AN-VDAT (1x200G) * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) -* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25G) - +* NVIDIA\ |reg| BlueField\ |reg|-2 25G MBF2H332A-AEEOT_A1 (2x25Gg +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00SV-AA0 (2x200) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B6-00CN-AB0 (2x400) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00CC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 100GbE 900-9D3B4-00SC-EA0 (2x100) +* NVIDIA\ |reg| BlueField\ |reg|-3 400GbE 900-9D3B4-00EN-EA0 (1x100) Sub-Function ------------ diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst index 3cc1dd29e2..2d6fbe7e44 100644 --- a/doc/guides/platform/mlx5.rst +++ b/doc/guides/platform/mlx5.rst @@ -17,8 +17,8 @@ NVIDIA MLX5 Common Driver The mlx5 common driver library (**librte_common_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx**, **NVIDIA ConnectX-5**, **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, -**NVIDIA ConnectX-7**, **NVIDIA BlueField**, and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters. +**NVIDIA ConnectX-7**, **NVIDIA BlueField**, **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 10/25/40/50/100/200 Gb/s adapters. Information and documentation for these adapters can be found on the `NVIDIA website <https://www.nvidia.com/en-us/networking/>`_. @@ -187,6 +187,7 @@ The minimal supported versions are: - ConnectX-7: **28.33.2028** and above. - BlueField: **18.25.1010** and above. - BlueField-2: **24.28.1002** and above. + - BlueField-3: **32.36.3126** and above. The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules are packaged in `NVIDIA MLNX_OFED diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst index 19af72bdc8..174b848158 100644 --- a/doc/guides/regexdevs/mlx5.rst +++ b/doc/guides/regexdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 RegEx Driver that are now NVIDIA trademarks. The mlx5 RegEx (Regular Expression) driver library -(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2**, +and **NVIDIA BlueField-3** families of 25/50/100/200 Gb/s adapters. Design ------ @@ -43,16 +43,18 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- -- BlueField-2 running NVIDIA supported kernel. -- Enable the RegEx capabilities using system call from the BlueField-2. +- BlueField-2 or BlueField-3 running NVIDIA supported kernel. +- Enable the RegEx capabilities using system call from the BlueField-2 or BlueField-3. - Official support is not yet released. Limitations ----------- -- The firmware version must be greater than XX.31.0364 +- The firmware version must be greater than 24.31.0364 for BlueField-2 + and 32.36.xxxx for BlueField-3. diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst index e7cba1b996..f6c3068a21 100644 --- a/doc/guides/vdpadevs/mlx5.rst +++ b/doc/guides/vdpadevs/mlx5.rst @@ -16,8 +16,8 @@ NVIDIA MLX5 vDPA Driver The mlx5 vDPA (vhost data path acceleration) driver library (**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**, **NVIDIA ConnectX-6 Dx**, **NVIDIA ConnectX-6 Lx**, **NVIDIA ConnectX7**, -**NVIDIA BlueField** and **NVIDIA BlueField-2** families of -10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in +**NVIDIA BlueField**, **NVIDIA BlueField-2** and **NVIDIA BlueField-3** families +of 10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in SR-IOV context. .. note:: @@ -39,6 +39,7 @@ Supported NICs * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) * NVIDIA\ |reg| BlueField SmartNIC 25G MBF1M332A-ASCAT (2x25G) * NVIDIA\ |reg| BlueField |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G) +* NVIDIA\ |reg| BlueField\ |reg|-3 200GbE 900-9D3B6-00CV-AAB_Ax Prerequisites ------------- -- 2.25.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/4] support NVIDIA Bluefield-3 device 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh ` (3 preceding siblings ...) 2023-02-20 8:48 ` [PATCH v3 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh @ 2023-02-20 10:40 ` Thomas Monjalon 4 siblings, 0 replies; 17+ messages in thread From: Thomas Monjalon @ 2023-02-20 10:40 UTC (permalink / raw) To: Raslan Darawsheh; +Cc: dev, ruifeng.wang > Raslan Darawsheh (4): > mlx: update PCI device IDs names for NVIDIA BlueField NICs > config/arm: add NVIDIA BlueField-3 platform > crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs > doc: update supported devices for NVIDIA NICs Applied, thanks. ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2023-02-20 10:40 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-02-16 13:59 [PATCH 1/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 2/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 3/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh 2023-02-16 13:59 ` [PATCH 4/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh 2023-02-20 2:50 ` Ruifeng Wang 2023-02-20 8:42 ` Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh 2023-02-16 14:04 ` [PATCH v2 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 1/4] mlx: update PCI device IDs names for NVIDIA BlueField NICs Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 2/4] config/arm: add NVIDIA BlueField-3 platform Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 3/4] crypto/mlx5: add Bluefield-3 and ConnectX-7 device IDs Raslan Darawsheh 2023-02-20 8:48 ` [PATCH v3 4/4] doc: update supported devices for NVIDIA NICs Raslan Darawsheh 2023-02-20 10:40 ` [PATCH v3 0/4] support NVIDIA Bluefield-3 device Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).