[V2] crypto/mlx5: support BF2 and ConnectX6-DX devices

Message ID 20211107172957.3962-1-rzidane@nvidia.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series [V2] crypto/mlx5: support BF2 and ConnectX6-DX devices |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-spell-check-testing warning Testing issues
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/github-robot: build success github build: passed
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-intel-Functional fail Functional Testing issues
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

Raja Zidane Nov. 7, 2021, 5:29 p.m. UTC
  Starting from MLNX_OFED 5.5. version, the BlueField2 and ConnextX6-DX
adapters support crypto operations.

Add them to the supported PCI devices list.

Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
dependant on https://patchwork.dpdk.org/project/dpdk/cover/20211104124929.24899-1-rzidane@nvidia.com/
V2: fixed checkpatch warning.
    fixed doc.
 doc/guides/cryptodevs/mlx5.rst         | 6 +++++-
 doc/guides/rel_notes/release_21_11.rst | 4 ++++
 drivers/crypto/mlx5/mlx5_crypto.c      | 8 ++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)
  

Comments

Thomas Monjalon Nov. 7, 2021, 5:44 p.m. UTC | #1
07/11/2021 18:29, Raja Zidane:
> --- a/doc/guides/rel_notes/release_21_11.rst
> +++ b/doc/guides/rel_notes/release_21_11.rst
> @@ -401,6 +401,10 @@ New Features
>    overruns in C/C++ programs, and other similar errors, as well as
>    printing out detailed debug information whenever an error is detected.
>  
> +* **Updated mlx5 crypto driver.**
> +
> +  * Added support for BF2.
> +  * Added support for CX6DX.

I you don't know where to put something in a list,
choosing to put at the end is almost always a bad decision.

In the case of the release notes, the order is described at the beginning.
And in this particular case, there is already a matching section:

* **Updated Mellanox mlx5 crypto driver.**

  * Added Windows support.
  
Tal Shnaiderman Nov. 7, 2021, 7:03 p.m. UTC | #2
> Subject: [dpdk-dev] [PATCH V2] crypto/mlx5: support BF2 and ConnectX6-DX
> devices
> 
> External email: Use caution opening links or attachments
> 
> 
> Starting from MLNX_OFED 5.5. version, the BlueField2 and ConnextX6-DX
> adapters support crypto operations.
> 
> Add them to the supported PCI devices list.
> 
> Signed-off-by: Raja Zidane <rzidane@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
> ---
> dependant on
> https://patchwork.dpdk.org/project/dpdk/cover/20211104124929.24899-1-
> rzidane@nvidia.com/
> V2: fixed checkpatch warning.
>     fixed doc.
>  doc/guides/cryptodevs/mlx5.rst         | 6 +++++-
>  doc/guides/rel_notes/release_21_11.rst | 4 ++++
>  drivers/crypto/mlx5/mlx5_crypto.c      | 8 ++++++++
>  3 files changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/cryptodevs/mlx5.rst
> b/doc/guides/cryptodevs/mlx5.rst index 9bd8c6fe85..ab52dde4ce 100644
> --- a/doc/guides/cryptodevs/mlx5.rst
> +++ b/doc/guides/cryptodevs/mlx5.rst
> @@ -88,6 +88,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 BlueField2, also the internal ports in the ARMs system should be set.
> 
>  - Query CRYPTO_OPERATIONAL register to make sure the device is in
> Operational
>    mode.
> @@ -141,6 +142,8 @@ Supported NICs
>  --------------
> 
>  * Mellanox\ |reg| ConnectX\ |reg|-6 200G MCX654106A-HCAT (2x200G)
> +* Mellanox\ |reg| BlueField 2 SmartNIC
> +* Mellanox\ |reg| ConnectX\ |reg|-6DX
> 
> 
>  Limitations
> @@ -158,7 +161,8 @@ Prerequisites
>  Linux Prerequisites
>  ~~~~~~~~~~~~~~~~~~~
> 
> -- Mellanox OFED version: **5.3**
> +- Mellanox OFED version: **5.3** for ConnectX6.
> +  Mellanox OFED version: **5.5** for ConnectX6DX and BF2.
>    see :doc:`../../nics/mlx5` guide for more Mellanox OFED details.

Does a new OFED version a Prerequisite for ConnectX6DX and BF2? Doesn't it depend solely on the FW version?

> 
>  - Compilation can be done also with rdma-core v15+.
> diff --git a/doc/guides/rel_notes/release_21_11.rst
> b/doc/guides/rel_notes/release_21_11.rst
> index 9bf4479002..490a8859d7 100644
> --- a/doc/guides/rel_notes/release_21_11.rst
> +++ b/doc/guides/rel_notes/release_21_11.rst
> @@ -401,6 +401,10 @@ New Features
>    overruns in C/C++ programs, and other similar errors, as well as
>    printing out detailed debug information whenever an error is detected.
> 
> +* **Updated mlx5 crypto driver.**
> +
> +  * Added support for BF2.
> +  * Added support for CX6DX.
> 
>  Removed Items
>  -------------
> diff --git a/drivers/crypto/mlx5/mlx5_crypto.c
> b/drivers/crypto/mlx5/mlx5_crypto.c
> index 038526c023..316cb46ebf 100644
> --- a/drivers/crypto/mlx5/mlx5_crypto.c
> +++ b/drivers/crypto/mlx5/mlx5_crypto.c
> @@ -1034,6 +1034,14 @@ static const struct rte_pci_id
> mlx5_crypto_pci_id_map[] = {
>                         RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
>                                         PCI_DEVICE_ID_MELLANOX_CONNECTX6)
>                 },
> +               {
> +                       RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
> +                                       PCI_DEVICE_ID_MELLANOX_CONNECTX6DX)
> +               },
> +               {
> +                       RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
> +                                       PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF)
> +               },
>                 {
>                         .vendor_id = 0
>                 }
> --
> 2.17.1
  

Patch

diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst
index 9bd8c6fe85..ab52dde4ce 100644
--- a/doc/guides/cryptodevs/mlx5.rst
+++ b/doc/guides/cryptodevs/mlx5.rst
@@ -88,6 +88,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 BlueField2, also the internal ports in the ARMs system should be set.
 
 - Query CRYPTO_OPERATIONAL register to make sure the device is in Operational
   mode.
@@ -141,6 +142,8 @@  Supported NICs
 --------------
 
 * Mellanox\ |reg| ConnectX\ |reg|-6 200G MCX654106A-HCAT (2x200G)
+* Mellanox\ |reg| BlueField 2 SmartNIC
+* Mellanox\ |reg| ConnectX\ |reg|-6DX
 
 
 Limitations
@@ -158,7 +161,8 @@  Prerequisites
 Linux Prerequisites
 ~~~~~~~~~~~~~~~~~~~
 
-- Mellanox OFED version: **5.3**
+- Mellanox OFED version: **5.3** for ConnectX6.
+  Mellanox OFED version: **5.5** for ConnectX6DX and BF2.
   see :doc:`../../nics/mlx5` guide for more Mellanox OFED details.
 
 - Compilation can be done also with rdma-core v15+.
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 9bf4479002..490a8859d7 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -401,6 +401,10 @@  New Features
   overruns in C/C++ programs, and other similar errors, as well as
   printing out detailed debug information whenever an error is detected.
 
+* **Updated mlx5 crypto driver.**
+
+  * Added support for BF2.
+  * Added support for CX6DX.
 
 Removed Items
 -------------
diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c
index 038526c023..316cb46ebf 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -1034,6 +1034,14 @@  static const struct rte_pci_id mlx5_crypto_pci_id_map[] = {
 			RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
 					PCI_DEVICE_ID_MELLANOX_CONNECTX6)
 		},
+		{
+			RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
+					PCI_DEVICE_ID_MELLANOX_CONNECTX6DX)
+		},
+		{
+			RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
+					PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF)
+		},
 		{
 			.vendor_id = 0
 		}