* [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
* [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
* 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 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).