From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 96A36A0588;
	Thu, 16 Apr 2020 17:59:24 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 2B33C1DD06;
	Thu, 16 Apr 2020 17:59:24 +0200 (CEST)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id F28FF1DD03;
 Thu, 16 Apr 2020 17:59:21 +0200 (CEST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47])
 by mailout.nyi.internal (Postfix) with ESMTP id 5556E5C02C7;
 Thu, 16 Apr 2020 11:59:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute7.internal (MEProxy); Thu, 16 Apr 2020 11:59:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:mime-version
 :content-transfer-encoding; s=mesmtp; bh=Lbk4dIwd/2IJ+ANbGCbRZ/7
 SxkiyQN2uXAT9z1kdAic=; b=IenhvofL+keSdWW4pFiDeOjejtLupQbUrrDOaCd
 f0nndGxdre8HNrHPF71UbLCaBPJzrhOSAGUEtybqX4/Mnis+SbcPtiQ34zAOWcAJ
 N9xciCvtkR4hPb0jkvdEq0g5aAF6dyEU4JHc+5jP+l8IG4d3hDf1BW+8nZWnX416
 mZ3A=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:date:from
 :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Lbk4dIwd/2IJ+ANbG
 CbRZ/7SxkiyQN2uXAT9z1kdAic=; b=4OgR+auiVhw4f+FJHRD2IqyXOHpFnfqZF
 mMub/P1WHGbpauC1sMVZIEVS7v1oKYLYHYgyvMtigjXEjSosJWaecTJ23bRT7wjE
 RxOu9uepJubXEPaEyVLceh9taBKphfPdO8BE4IxFKCxcoCfJqDLXlkM4IfHcdMhb
 wz+EOxS51NA/5qnfy+U8THuGivPBUQ6JPkjTyroZQWTNEJZWAO6/xrOWTalKwHWU
 Rn/z6vUAfM0bSlbKYjAxU19NdALC+hUUuFtnU7y6Nix0bJdim6qsaPBzm6ghy3ei
 JAY4pepoxi31LdegYaUgJmtUF0vyzlbV2s067TN/9CDpK6lkvdfxw==
X-ME-Sender: <xms:2YCYXlRgBtXiRNF3BSKtDOvJqdPLiMH37-2zhH6QQ0cWzhxyuOODLA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrfeehgdelhecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkofgggfestdekredtredttdenucfhrhhomhepvfhhohhmrghsucfo
 ohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkphepje
 ejrddufeegrddvtdefrddukeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
 pehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth
X-ME-Proxy: <xmx:2YCYXn1xIW07229pcav5PMS_Owr_X_ktr8NtUt_rUMH74Kr_x_D4fA>
 <xmx:2YCYXj7924x1wkJFqcqVgnK5Rn74w1rXPz3twykkXW1ECeePw5rOig>
 <xmx:2YCYXowGO_keJ-4BONU8C2fIn-F7NwpMHn-mxqwsxqf2CL2afc7rSw>
 <xmx:2YCYXlGmuh4poItZFcrDK_5oStiLc_XbGSg0_UBds7E2-LkR51UOag>
Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id 41E2B306006C;
 Thu, 16 Apr 2020 11:59:20 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: stable@dpdk.org, Matan Azrad <matan@mellanox.com>,
 Shahaf Shuler <shahafs@mellanox.com>,
 Viacheslav Ovsiienko <viacheslavo@mellanox.com>,
 Dekel Peled <dekelp@mellanox.com>
Date: Thu, 16 Apr 2020 17:59:04 +0200
Message-Id: <20200416155904.2723690-1-thomas@monjalon.net>
X-Mailer: git-send-email 2.26.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH] common/mlx5: fix build with rdma-core 21
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

drivers/common/mlx5/mlx5_glue.c: In function 'mlx5_glue_devx_qp_query':
drivers/common/mlx5/mlx5_glue.c:1010:9: error:
implicit declaration of function 'mlx5dv_devx_qp_query'

The function mlx5dv_devx_qp_query() was added in rdma-core 22.
This function is compiled only if HAVE_IBV_DEVX_OBJ,
which is true if the function mlx5dv_devx_obj_create is found.
Unfortunately mlx5dv_devx_obj_create() was introduced in rdma-core 21,
when mlx5dv_devx_qp_query() did not exist yet.

A new flag HAVE_IBV_DEVX_QP is added when mlx5dv_devx_qp_query()
is found.

Fixes: 62d6f70f30f4 ("net/mlx5: add glue for queue query via DevX")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/common/mlx5/Makefile    | 5 +++++
 drivers/common/mlx5/meson.build | 2 ++
 drivers/common/mlx5/mlx5_glue.c | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile
index f32933d592..22dc4b2eb4 100644
--- a/drivers/common/mlx5/Makefile
+++ b/drivers/common/mlx5/Makefile
@@ -150,6 +150,11 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
 		infiniband/mlx5dv.h \
 		func mlx5dv_devx_obj_query_async \
 		$(AUTOCONF_OUTPUT)
+	$Q sh -- '$<' '$@' \
+		HAVE_IBV_DEVX_QP \
+		infiniband/mlx5dv.h \
+		func mlx5dv_devx_qp_query \
+		$(AUTOCONF_OUTPUT)
 	$Q sh -- '$<' '$@' \
 		HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
 		infiniband/mlx5dv.h \
diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index ac2cfa6236..6f007eea1b 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -118,6 +118,8 @@ has_sym_args = [
 	'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
 	[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
 	'mlx5dv_devx_obj_query_async' ],
+	[ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h',
+	'mlx5dv_devx_qp_query' ],
 	[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR', 'infiniband/mlx5dv.h',
 	'mlx5dv_dr_action_create_dest_devx_tir' ],
 	[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
diff --git a/drivers/common/mlx5/mlx5_glue.c b/drivers/common/mlx5/mlx5_glue.c
index 0af0b86677..e2d3beb9cc 100644
--- a/drivers/common/mlx5/mlx5_glue.c
+++ b/drivers/common/mlx5/mlx5_glue.c
@@ -1006,7 +1006,7 @@ mlx5_glue_devx_qp_query(struct ibv_qp *qp,
 			const void *in, size_t inlen,
 			void *out, size_t outlen)
 {
-#ifdef HAVE_IBV_DEVX_OBJ
+#ifdef HAVE_IBV_DEVX_QP
 	return mlx5dv_devx_qp_query(qp, in, inlen, out, outlen);
 #else
 	(void)qp;
-- 
2.26.0