From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED506C54FCB for ; Mon, 27 Apr 2020 15:47:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C2D7A20661 for ; Mon, 27 Apr 2020 15:47:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588002429; bh=lqEOAP24U1YjeUM697f01a++P/d5nSabaKLMzWUURHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=W01ugYqFFhVvb/6qwjxzS6COVNJC1iTH94ajFNbSGAwHa4YosNRP0VmAryeAr9bRI +VXD8FVzpy61lOjBQtOk5EmUoY3/gjO7ca9mx5S+XKx6oA76a1ectUodVzPRuKQ2A5 dktnN/8ySDKEM5GfZolsDup3rXi6ww31ZoQxmeiA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728220AbgD0PrJ (ORCPT ); Mon, 27 Apr 2020 11:47:09 -0400 Received: from mail.kernel.org ([198.145.29.99]:53108 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728215AbgD0PrI (ORCPT ); Mon, 27 Apr 2020 11:47:08 -0400 Received: from localhost (unknown [213.57.247.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E1A1A2064C; Mon, 27 Apr 2020 15:47:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588002428; bh=lqEOAP24U1YjeUM697f01a++P/d5nSabaKLMzWUURHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GaAcqjuvT826a2ZGunnpUF1YGwh+bLfs3a97K+9vHIipeg1nOgGPx2PSjOD3Thbd8 8/cY0uMRDZX70s41WOPC2G6la9LcRSKXrWCCWIz7e3S8wI7LCL/IukJSIB0sAX8X8e KeeGzeXai20VzOEUGwF8OCoyG2rdy7mnw7mp8vjo= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Leon Romanovsky , RDMA mailing list , Aharon Landau , Eli Cohen , Maor Gottlieb Subject: [PATCH rdma-next v1 06/36] RDMA/mlx5: Set QP subtype immediately when it is known Date: Mon, 27 Apr 2020 18:46:06 +0300 Message-Id: <20200427154636.381474-7-leon@kernel.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200427154636.381474-1-leon@kernel.org> References: <20200427154636.381474-1-leon@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Leon Romanovsky There is no need to delay QP subtype assignment to the end of the create_qp() function and it is better to move it to be immediately after it is checked so we would be able to rewrite later checks to be based on it and not on over-written struct ib_qp_init_attr. Reviewed-by: Maor Gottlieb Signed-off-by: Leon Romanovsky --- drivers/infiniband/hw/mlx5/qp.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index 86933a2023dc..d991c33c4d9b 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c @@ -2581,7 +2581,6 @@ static struct ib_qp *mlx5_ib_create_dct(struct ib_pd *pd, struct mlx5_ib_qp *qp, MLX5_SET(create_dct_in, qp->dct.in, uid, to_mpd(pd)->uid); dctc = MLX5_ADDR_OF(create_dct_in, qp->dct.in, dct_context_entry); - qp->qp_sub_type = MLX5_IB_QPT_DCT; MLX5_SET(dctc, dctc, pd, to_mpd(pd)->pdn); MLX5_SET(dctc, dctc, srqn_xrqn, to_msrq(attr->srq)->msrq.srqn); MLX5_SET(dctc, dctc, cqn, to_mcq(attr->recv_cq)->mcq.cqn); @@ -2765,7 +2764,9 @@ struct ib_qp *mlx5_ib_create_qp(struct ib_pd *pd, err = -EINVAL; goto free_qp; } + qp->qp_sub_type = MLX5_IB_QPT_DCI; } else { + qp->qp_sub_type = MLX5_IB_QPT_DCT; return mlx5_ib_create_dct(pd, qp, init_attr, &ucmd, udata); } @@ -2789,9 +2790,6 @@ struct ib_qp *mlx5_ib_create_qp(struct ib_pd *pd, qp->trans_qp.xrcdn = xrcdn; - if (verbs_init_attr->qp_type == IB_QPT_DRIVER) - qp->qp_sub_type = init_attr->qp_type; - return &qp->ibqp; free_qp: -- 2.25.3