From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id DCB4F1B3B5 for ; Thu, 7 Feb 2019 14:27:49 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6A833144054; Thu, 7 Feb 2019 13:27:47 +0000 (UTC) Received: from ktraynor.remote.csb (unknown [10.33.36.135]) by smtp.corp.redhat.com (Postfix) with ESMTP id 882A2649DD; Thu, 7 Feb 2019 13:27:45 +0000 (UTC) From: Kevin Traynor To: Yongseok Koh Cc: Erez Ferber , Shahaf Shuler , dpdk stable Date: Thu, 7 Feb 2019 13:25:31 +0000 Message-Id: <20190207132614.20538-25-ktraynor@redhat.com> In-Reply-To: <20190207132614.20538-1-ktraynor@redhat.com> References: <20190207132614.20538-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 07 Feb 2019 13:27:49 +0000 (UTC) Subject: [dpdk-stable] patch 'net/mlx5: fix deprecated library API for Rx padding' has been queued to LTS release 18.11.1 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, 07 Feb 2019 13:27:50 -0000 Hi, FYI, your patch has been queued to LTS release 18.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/14/19. 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. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Kevin Traynor --- >>From aabc995c77956c1b176bf42f140829ab784523b7 Mon Sep 17 00:00:00 2001 From: Yongseok Koh Date: Tue, 15 Jan 2019 09:38:59 -0800 Subject: [PATCH] net/mlx5: fix deprecated library API for Rx padding [ upstream commit 2014a7fbae2be56af7fcffc882a299eb06a6a81c ] In rdma-core library IBV_WQ_FLAG_RX_END_PADDING is renamed to IBV_WQ_FLAGS_PCI_WRITE_END_PADDING. Way to query the capability is also changed. Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core") Signed-off-by: Yongseok Koh Reviewed-by: Erez Ferber Acked-by: Shahaf Shuler --- drivers/net/mlx5/Makefile | 5 +++++ drivers/net/mlx5/meson.build | 2 ++ drivers/net/mlx5/mlx5.c | 5 ++++- drivers/net/mlx5/mlx5_rxq.c | 7 +++++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile index 895cdfeed..63dfa45b2 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile @@ -118,4 +118,9 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh enum IBV_FLOW_SPEC_MPLS \ $(AUTOCONF_OUTPUT) + $Q sh -- '$<' '$@' \ + HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \ + infiniband/verbs.h \ + enum IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \ + $(AUTOCONF_OUTPUT) $Q sh -- '$<' '$@' \ HAVE_IBV_WQ_FLAG_RX_END_PADDING \ diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build index 28938db0f..de0c32bcf 100644 --- a/drivers/net/mlx5/meson.build +++ b/drivers/net/mlx5/meson.build @@ -103,4 +103,6 @@ if build [ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h', 'IBV_FLOW_SPEC_MPLS' ], + [ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h', + 'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ], [ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h', 'IBV_WQ_FLAG_RX_END_PADDING' ], diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 50a62b400..e7668bd5d 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1061,6 +1061,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, DRV_LOG(DEBUG, "FCS stripping configuration is %ssupported", (config.hw_fcs_strip ? "" : "not ")); -#ifdef HAVE_IBV_WQ_FLAG_RX_END_PADDING +#if defined(HAVE_IBV_WQ_FLAG_RX_END_PADDING) hw_padding = !!attr.rx_pad_end_addr_align; +#elif defined(HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING) + hw_padding = !!(attr.device_cap_flags_ex & + IBV_DEVICE_PCI_WRITE_END_PADDING); #endif if (config.hw_padding && !hw_padding) { diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 34c833872..10b6ce0c1 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -882,10 +882,13 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx) attr.wq.ibv.comp_mask |= IBV_WQ_INIT_ATTR_FLAGS; } -#ifdef HAVE_IBV_WQ_FLAG_RX_END_PADDING if (config->hw_padding) { +#if defined(HAVE_IBV_WQ_FLAG_RX_END_PADDING) attr.wq.ibv.create_flags |= IBV_WQ_FLAG_RX_END_PADDING; attr.wq.ibv.comp_mask |= IBV_WQ_INIT_ATTR_FLAGS; - } +#elif defined(HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING) + attr.wq.ibv.create_flags |= IBV_WQ_FLAGS_PCI_WRITE_END_PADDING; + attr.wq.ibv.comp_mask |= IBV_WQ_INIT_ATTR_FLAGS; #endif + } #ifdef HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT attr.wq.mlx5 = (struct mlx5dv_wq_init_attr){ -- 2.19.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-02-07 13:19:56.121165078 +0000 +++ 0025-net-mlx5-fix-deprecated-library-API-for-Rx-padding.patch 2019-02-07 13:19:55.000000000 +0000 @@ -1,14 +1,15 @@ -From 2014a7fbae2be56af7fcffc882a299eb06a6a81c Mon Sep 17 00:00:00 2001 +From aabc995c77956c1b176bf42f140829ab784523b7 Mon Sep 17 00:00:00 2001 From: Yongseok Koh Date: Tue, 15 Jan 2019 09:38:59 -0800 Subject: [PATCH] net/mlx5: fix deprecated library API for Rx padding +[ upstream commit 2014a7fbae2be56af7fcffc882a299eb06a6a81c ] + In rdma-core library IBV_WQ_FLAG_RX_END_PADDING is renamed to IBV_WQ_FLAGS_PCI_WRITE_END_PADDING. Way to query the capability is also changed. Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core") -Cc: stable@dpdk.org Signed-off-by: Yongseok Koh Reviewed-by: Erez Ferber @@ -21,10 +22,10 @@ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile -index 688678ac8..9a7da1819 100644 +index 895cdfeed..63dfa45b2 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile -@@ -121,4 +121,9 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh +@@ -118,4 +118,9 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh enum IBV_FLOW_SPEC_MPLS \ $(AUTOCONF_OUTPUT) + $Q sh -- '$<' '$@' \ @@ -35,10 +36,10 @@ $Q sh -- '$<' '$@' \ HAVE_IBV_WQ_FLAG_RX_END_PADDING \ diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build -index 6413cefd0..4540c455b 100644 +index 28938db0f..de0c32bcf 100644 --- a/drivers/net/mlx5/meson.build +++ b/drivers/net/mlx5/meson.build -@@ -104,4 +104,6 @@ if build +@@ -103,4 +103,6 @@ if build [ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h', 'IBV_FLOW_SPEC_MPLS' ], + [ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h', @@ -46,10 +47,10 @@ [ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h', 'IBV_WQ_FLAG_RX_END_PADDING' ], diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c -index 741bc7fc0..a913a5955 100644 +index 50a62b400..e7668bd5d 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c -@@ -1067,6 +1067,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, +@@ -1061,6 +1061,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, DRV_LOG(DEBUG, "FCS stripping configuration is %ssupported", (config.hw_fcs_strip ? "" : "not ")); -#ifdef HAVE_IBV_WQ_FLAG_RX_END_PADDING