From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 85E00322C for ; Fri, 30 Nov 2018 00:12:36 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 30 Nov 2018 01:18:28 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id wATNCW71032075; Fri, 30 Nov 2018 01:12:33 +0200 From: Yongseok Koh To: Shahaf Shuler Cc: Nelio Laranjeiro , dpdk stable Date: Thu, 29 Nov 2018 15:09:55 -0800 Message-Id: <20181129231202.30436-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-stable] patch 'net/mlx5: add Bluefield device id' has been queued to LTS release 17.11.5 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Nov 2018 23:12:36 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/01/18. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Yongseok --- >>From 9016287f9f6bada777830857b4c43df9ee435775 Mon Sep 17 00:00:00 2001 From: Shahaf Shuler Date: Tue, 15 May 2018 09:12:50 +0300 Subject: [PATCH] net/mlx5: add Bluefield device id [ backported from upstream commit dd3331c6f1ced718bc1634924b35849cc4ffbd70 ] Signed-off-by: Shahaf Shuler Acked-by: Nelio Laranjeiro --- config/common_base | 3 ++- doc/guides/nics/mlx5.rst | 58 ++++++++++++++++++++++++++---------------------- drivers/net/mlx5/mlx5.c | 4 ++++ drivers/net/mlx5/mlx5.h | 1 + 4 files changed, 38 insertions(+), 28 deletions(-) diff --git a/config/common_base b/config/common_base index 214d9a278..18ff43c4f 100644 --- a/config/common_base +++ b/config/common_base @@ -233,7 +233,8 @@ CONFIG_RTE_LIBRTE_MLX4_DEBUG=n CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8 # -# Compile burst-oriented Mellanox ConnectX-4 & ConnectX-5 (MLX5) PMD +# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5 & Bluefield +# (MLX5) PMD # CONFIG_RTE_LIBRTE_MLX5_PMD=n CONFIG_RTE_LIBRTE_MLX5_DEBUG=n diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 50fced3f4..1f675777a 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -32,9 +32,9 @@ MLX5 poll mode driver ===================== The MLX5 poll mode driver library (**librte_pmd_mlx5**) provides support -for **Mellanox ConnectX-4**, **Mellanox ConnectX-4 Lx** and **Mellanox -ConnectX-5** families of 10/25/40/50/100 Gb/s adapters as well as their -virtual functions (VF) in SR-IOV context. +for **Mellanox ConnectX-4**, **Mellanox ConnectX-4 Lx** , **Mellanox +ConnectX-5** and **Mellanox Bluefield** families of 10/25/40/50/100 Gb/s +adapters as well as their virtual functions (VF) in SR-IOV context. Information and documentation about these adapters can be found on the `Mellanox website `__. Help is also provided by the @@ -214,8 +214,8 @@ Run-time configuration Supported on: - - x86_64 with ConnectX-4, ConnectX-4 LX and ConnectX-5. - - POWER8 and ARMv8 with ConnectX-4 LX and ConnectX-5. + - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5 and Bluefield. + - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5 and Bluefield. - ``txq_inline`` parameter [int] @@ -234,33 +234,34 @@ Run-time configuration This option should be used in combination with ``txq_inline`` above. - On ConnectX-4, ConnectX-4 LX and ConnectX-5 without Enhanced MPW: + On ConnectX-4, ConnectX-4 LX, ConnectX-5 and Bluefield without + Enhanced MPW: - Disabled by default. - In case ``txq_inline`` is set recommendation is 4. - On ConnectX-5 with Enhanced MPW: + On ConnectX-5 and Bluefield with Enhanced MPW: - Set to 8 by default. - ``txq_mpw_en`` parameter [int] A nonzero value enables multi-packet send (MPS) for ConnectX-4 Lx and - enhanced multi-packet send (Enhanced MPS) for ConnectX-5. MPS 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`` is set along - with ``txq_mpw_en``, TX burst function tries to copy entire packet data - on to TX descriptor instead of including pointer of packet only if there - is enough room remained in the descriptor. ``txq_inline`` sets - per-descriptor space for either pointers or inlined packets. In addition, - Enhanced MPS supports hybrid mode - mixing inlined packets and pointers - in the same descriptor. + enhanced multi-packet send (Enhanced MPS) for ConnectX-5 and Bluefield. + MPS 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`` is set along with ``txq_mpw_en``, TX burst function tries + to copy entire packet data on to TX descriptor instead of including + pointer of packet only if there is enough room remained in the + descriptor. ``txq_inline`` sets per-descriptor space for either pointers + or inlined packets. In addition, Enhanced MPS supports hybrid mode - + mixing inlined packets and pointers in the same descriptor. This option cannot be used in conjunction with ``tso`` below. When ``tso`` is set, ``txq_mpw_en`` is disabled. - It is currently only supported on the ConnectX-4 Lx and ConnectX-5 + It is currently only supported on the ConnectX-4 Lx, ConnectX-5 and Bluefield families of adapters. Enabled by default. - ``txq_mpw_hdr_dseg_en`` parameter [int] @@ -287,10 +288,10 @@ Run-time configuration - ``tx_vec_en`` parameter [int] - A nonzero value enables Tx vector on ConnectX-5 only NIC if the number of + A nonzero value enables Tx vector on ConnectX-5 and Bluefield NICs if the number of global Tx queues on the port is lesser than MLX5_VPMD_MIN_TXQS. - Enabled by default on ConnectX-5. + Enabled by default on ConnectX-5 and Bluefield. - ``rx_vec_en`` parameter [int] @@ -318,8 +319,9 @@ DPDK and must be installed separately: - **libmlx5** - Low-level user space driver library for Mellanox ConnectX-4/ConnectX-5 - devices, it is automatically loaded by libibverbs. + Low-level user space driver library for Mellanox + ConnectX-4/ConnectX-5/Bluefield devices, it is automatically loaded + by libibverbs. This library basically implements send/receive calls to the hardware queues. @@ -333,15 +335,16 @@ DPDK and must be installed separately: Unlike most other PMDs, these modules must remain loaded and bound to their devices: - - mlx5_core: hardware driver managing Mellanox ConnectX-4/ConnectX-5 - devices and related Ethernet kernel network devices. + - mlx5_core: hardware driver managing Mellanox + ConnectX-4/ConnectX-5/Bluefield devices and related Ethernet kernel + network devices. - mlx5_ib: InifiniBand device driver. - ib_uverbs: user space driver for Verbs (entry point for libibverbs). - **Firmware update** - Mellanox OFED releases include firmware updates for ConnectX-4/ConnectX-5 - adapters. + Mellanox OFED releases include firmware updates for + ConnectX-4/ConnectX-5/Bluefield adapters. Because each release provides new features, these updates must be applied to match the kernel modules and libraries they come with. @@ -378,6 +381,7 @@ Mellanox OFED - ConnectX-4 Lx: **14.21.1000** and above. - ConnectX-5: **16.21.1000** and above. - ConnectX-5 Ex: **16.21.1000** and above. + - Bluefield: **18.99.3950** and above. While these libraries and kernel modules are available on OpenFabrics Alliance's `website `__ and provided by package @@ -589,7 +593,7 @@ Usage example ------------- This section demonstrates how to launch **testpmd** with Mellanox -ConnectX-4/ConnectX-5 devices managed by librte_pmd_mlx5. +ConnectX-4/ConnectX-5/Bluefield devices managed by librte_pmd_mlx5. #. Load the kernel modules: diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 36f3a0565..2db8d414b 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1154,6 +1154,10 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF) }, { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX5BF) + }, + { .vendor_id = 0 } }; diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 5e6027b82..4acc18caf 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -77,6 +77,7 @@ 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, }; struct mlx5_xstats_ctrl { -- 2.11.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2018-11-29 15:01:45.371821467 -0800 +++ 0001-net-mlx5-add-Bluefield-device-id.patch 2018-11-29 15:01:44.957963000 -0800 @@ -1,8 +1,10 @@ -From dd3331c6f1ced718bc1634924b35849cc4ffbd70 Mon Sep 17 00:00:00 2001 +From 9016287f9f6bada777830857b4c43df9ee435775 Mon Sep 17 00:00:00 2001 From: Shahaf Shuler Date: Tue, 15 May 2018 09:12:50 +0300 Subject: [PATCH] net/mlx5: add Bluefield device id +[ backported from upstream commit dd3331c6f1ced718bc1634924b35849cc4ffbd70 ] + Signed-off-by: Shahaf Shuler Acked-by: Nelio Laranjeiro --- @@ -13,11 +15,11 @@ 4 files changed, 38 insertions(+), 28 deletions(-) diff --git a/config/common_base b/config/common_base -index c4dba709d..6b0d1cbbb 100644 +index 214d9a278..18ff43c4f 100644 --- a/config/common_base +++ b/config/common_base -@@ -295,7 +295,8 @@ CONFIG_RTE_LIBRTE_MLX4_DEBUG=n - CONFIG_RTE_LIBRTE_MLX4_DLOPEN_DEPS=n +@@ -233,7 +233,8 @@ CONFIG_RTE_LIBRTE_MLX4_DEBUG=n + CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8 # -# Compile burst-oriented Mellanox ConnectX-4 & ConnectX-5 (MLX5) PMD @@ -27,10 +29,10 @@ CONFIG_RTE_LIBRTE_MLX5_PMD=n CONFIG_RTE_LIBRTE_MLX5_DEBUG=n diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst -index a7d5c90bc..1ec5bcde9 100644 +index 50fced3f4..1f675777a 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst -@@ -6,9 +6,9 @@ MLX5 poll mode driver +@@ -32,9 +32,9 @@ MLX5 poll mode driver ===================== The MLX5 poll mode driver library (**librte_pmd_mlx5**) provides support @@ -43,7 +45,7 @@ Information and documentation about these adapters can be found on the `Mellanox website `__. Help is also provided by the -@@ -237,8 +237,8 @@ Run-time configuration +@@ -214,8 +214,8 @@ Run-time configuration Supported on: @@ -52,9 +54,9 @@ + - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5 and Bluefield. + - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5 and Bluefield. - - ``mprq_en`` parameter [int] + - ``txq_inline`` parameter [int] -@@ -304,34 +304,35 @@ Run-time configuration +@@ -234,33 +234,34 @@ Run-time configuration This option should be used in combination with ``txq_inline`` above. @@ -94,16 +96,15 @@ + or inlined packets. In addition, Enhanced MPS supports hybrid mode - + mixing inlined packets and pointers in the same descriptor. - This option cannot be used with certain offloads such as ``DEV_TX_OFFLOAD_TCP_TSO, - DEV_TX_OFFLOAD_VXLAN_TNL_TSO, DEV_TX_OFFLOAD_GRE_TNL_TSO, DEV_TX_OFFLOAD_VLAN_INSERT``. - When those offloads are requested the MPS send function will not be used. + This option cannot be used in conjunction with ``tso`` below. When ``tso`` + is set, ``txq_mpw_en`` is disabled. - It is currently only supported on the ConnectX-4 Lx and ConnectX-5 + It is currently only supported on the ConnectX-4 Lx, ConnectX-5 and Bluefield families of adapters. Enabled by default. - ``txq_mpw_hdr_dseg_en`` parameter [int] -@@ -352,14 +353,14 @@ Run-time configuration +@@ -287,10 +288,10 @@ Run-time configuration - ``tx_vec_en`` parameter [int] @@ -111,16 +112,12 @@ + A nonzero value enables Tx vector on ConnectX-5 and Bluefield NICs if the number of global Tx queues on the port is lesser than MLX5_VPMD_MIN_TXQS. - This option cannot be used with certain offloads such as ``DEV_TX_OFFLOAD_TCP_TSO, - DEV_TX_OFFLOAD_VXLAN_TNL_TSO, DEV_TX_OFFLOAD_GRE_TNL_TSO, DEV_TX_OFFLOAD_VLAN_INSERT``. - When those offloads are requested the MPS send function will not be used. - - Enabled by default on ConnectX-5. + Enabled by default on ConnectX-5 and Bluefield. - ``rx_vec_en`` parameter [int] -@@ -422,8 +423,9 @@ DPDK and must be installed separately: +@@ -318,8 +319,9 @@ DPDK and must be installed separately: - **libmlx5** @@ -132,7 +129,7 @@ This library basically implements send/receive calls to the hardware queues. -@@ -437,15 +439,16 @@ DPDK and must be installed separately: +@@ -333,15 +335,16 @@ DPDK and must be installed separately: Unlike most other PMDs, these modules must remain loaded and bound to their devices: @@ -153,7 +150,7 @@ Because each release provides new features, these updates must be applied to match the kernel modules and libraries they come with. -@@ -482,6 +485,7 @@ Mellanox OFED +@@ -378,6 +381,7 @@ Mellanox OFED - ConnectX-4 Lx: **14.21.1000** and above. - ConnectX-5: **16.21.1000** and above. - ConnectX-5 Ex: **16.21.1000** and above. @@ -161,7 +158,7 @@ While these libraries and kernel modules are available on OpenFabrics Alliance's `website `__ and provided by package -@@ -699,7 +703,7 @@ Usage example +@@ -589,7 +593,7 @@ Usage example ------------- This section demonstrates how to launch **testpmd** with Mellanox @@ -171,10 +168,10 @@ #. Load the kernel modules: diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c -index f455ea8ea..8e0445e3c 100644 +index 36f3a0565..2db8d414b 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c -@@ -1248,6 +1248,10 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { +@@ -1154,6 +1154,10 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF) }, { @@ -186,17 +183,17 @@ } }; diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h -index c4c962b92..a9c692555 100644 +index 5e6027b82..4acc18caf 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h -@@ -50,6 +50,7 @@ enum { +@@ -77,6 +77,7 @@ 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, }; - LIST_HEAD(mlx5_dev_list, priv); + struct mlx5_xstats_ctrl { -- 2.11.0