[dpdk-stable] patch 'net/mlx5: fix deprecated library API for Rx padding' has been queued to LTS release 18.11.1

Kevin Traynor ktraynor at redhat.com
Thu Feb 7 14:25:31 CET 2019


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 <yskoh at mellanox.com>
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 <yskoh at mellanox.com>
Reviewed-by: Erez Ferber <erezf at mellanox.com>
Acked-by: Shahaf Shuler <shahafs at mellanox.com>
---
 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 <yskoh at mellanox.com>
 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 at dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
 Reviewed-by: Erez Ferber <erezf at mellanox.com>
@@ -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


More information about the stable mailing list