git: 91c8ffd7e60f - main - mlx5ib: Add support for NDR link speed.

From: Hans Petter Selasky <hselasky_at_FreeBSD.org>
Date: Mon, 21 Feb 2022 08:40:12 UTC
The branch main has been updated by hselasky:

URL: https://cgit.FreeBSD.org/src/commit/?id=91c8ffd7e60fa7f017731cd234c01b7cddc05272

commit 91c8ffd7e60fa7f017731cd234c01b7cddc05272
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2022-02-21 08:25:29 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2022-02-21 08:35:19 +0000

    mlx5ib: Add support for NDR link speed.
    
    The IBTA specification has new speed - NDR. That speed supports signaling
    rate of 100Gb. mlx5 IB driver translates link modes reported by ConnectX
    device to IB speed and width. Added translation of new 100Gb, 200Gb and
    400Gb link modes to NDR IB type and width of x1, x2 or x4 respectively.
    
    Linux commits:
    f946e45f59ef01ff54ffb3b1eba3a8e7915e7326
    
    MFC after:      1 week
    Sponsored by:   NVIDIA Networking
---
 sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
index 65767483652f..acd74e3ec643 100644
--- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
+++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
@@ -259,10 +259,22 @@ static int translate_eth_ext_proto_oper(u32 eth_proto_oper, u8 *active_speed,
 		*active_width = IB_WIDTH_2X;
 		*active_speed = IB_SPEED_HDR;
 		break;
+	case MLX5E_PROT_MASK(MLX5E_100GAUI_1_100GBASE_CR_KR):
+		*active_width = IB_WIDTH_1X;
+		*active_speed = IB_SPEED_NDR;
+		break;
 	case MLX5E_PROT_MASK(MLX5E_200GAUI_4_200GBASE_CR4_KR4):
 		*active_width = IB_WIDTH_4X;
 		*active_speed = IB_SPEED_HDR;
 		break;
+	case MLX5E_PROT_MASK(MLX5E_200GAUI_2_200GBASE_CR2_KR2):
+		*active_width = IB_WIDTH_2X;
+		*active_speed = IB_SPEED_NDR;
+		break;
+	case MLX5E_PROT_MASK(MLX5E_400GAUI_4_400GBASE_CR4_KR4):
+		*active_width = IB_WIDTH_4X;
+		*active_speed = IB_SPEED_NDR;
+		break;
 	default:
 		*active_width = IB_WIDTH_4X;
 		*active_speed = IB_SPEED_QDR;