From patchwork Thu Oct 12 12:19:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 30254 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9A5D61B2AD; Thu, 12 Oct 2017 14:20:13 +0200 (CEST) Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by dpdk.org (Postfix) with ESMTP id 688201B297 for ; Thu, 12 Oct 2017 14:20:08 +0200 (CEST) Received: by mail-wm0-f49.google.com with SMTP id q132so12821201wmd.2 for ; Thu, 12 Oct 2017 05:20:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=nvg6jYPWiFA6vDzBWfTaXLZRS/0patqGLJgXMyh7w2I=; b=lqhmc4L9vSxOTGGrOz3ldA5HXpAzg0qIXyrOHU8OgYeH8FwD5wdKYjDNd4P3Tig5K8 XqZ55GQWeUGm7Pk/1Hk+jSmyM2MAU9Q/f6aCRvgnxORBpg9syu344EFrGZb1D6D38Dfu rK6HBHxRDDVKivcUiI+WVXuK0Nv4sN4oR4swnuymHe2TvGzgCG0Ymwab5j0q2bOcIQKh ucxzxxnAWozlZQkb3AcSHkOR+ujSg4fJ2Nz6DmeE1uzgox+OPK8YxNHIxJSk60pKrkH+ JY/ZivbSNT1FhAFNwdLTralaEwZBEupKcwuoapTBuyzeNdzgCG66Hx9GHk3h5tlUBwsX pNaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=nvg6jYPWiFA6vDzBWfTaXLZRS/0patqGLJgXMyh7w2I=; b=ZJlcrr8EcV7xbPZQP8Z6GHuPhNncAbYVj8WGD6VwJ3WdAl3Zzn4HSxYPADceHbRAXv Nf1omXDhJNhVEoRZ52rQ3ykAFh4g/5gD7WlQKHSySFU+dDKK2GrHwXPXnroF2xjGLgfd ESAqd2IpI4b+z6vpvTmiaPgDk73WhZG631qNv1HmhEv3/be9VMdLJEeEzC9yAUuhoMVF lav+TlF0CtJpkJ7kUFaqwW82SW2dGtUvHJH42aSjTrwgXbLG57AiyUDPfpb8BjPUkxGf eq1ECoVvAqOdxy8duCcpAg4UIGRSu2MgaY28832aQ4fYA3YxcWkHFbtUMoSvvQfjD72L Vjww== X-Gm-Message-State: AMCzsaXPZ1Kt++/OJBFA9RYHQVMQlrE70ouLneYaqFX5uT1W7ox8FufR OHLbE5fOJYT+ftk09dmd8Waphw== X-Google-Smtp-Source: AOwi7QBSGjt52lEVmL6xpCrglYt9r0hWTYhUx9lEog2kE43ADE2TOOFFZzyU18/mGBHkJa7ICXUYRw== X-Received: by 10.223.134.250 with SMTP id 55mr2120608wry.249.1507810807935; Thu, 12 Oct 2017 05:20:07 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id x75sm168982wme.3.2017.10.12.05.20.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Oct 2017 05:20:07 -0700 (PDT) From: Adrien Mazarguil To: Ferruh Yigit Cc: Nelio Laranjeiro , dev@dpdk.org Date: Thu, 12 Oct 2017 14:19:17 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2 03/29] net/mlx4: remove Rx QP initializer function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" There is no benefit in having this as a separate function. Signed-off-by: Adrien Mazarguil Acked-by: Nelio Laranjeiro --- drivers/net/mlx4/mlx4_rxq.c | 59 ++++++++++++---------------------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c index 409983f..2d54ab0 100644 --- a/drivers/net/mlx4/mlx4_rxq.c +++ b/drivers/net/mlx4/mlx4_rxq.c @@ -184,46 +184,6 @@ mlx4_rxq_cleanup(struct rxq *rxq) } /** - * Allocate a Queue Pair. - * Optionally setup inline receive if supported. - * - * @param priv - * Pointer to private structure. - * @param cq - * Completion queue to associate with QP. - * @param desc - * Number of descriptors in QP (hint only). - * - * @return - * QP pointer or NULL in case of error and rte_errno is set. - */ -static struct ibv_qp * -mlx4_rxq_setup_qp(struct priv *priv, struct ibv_cq *cq, uint16_t desc) -{ - struct ibv_qp *qp; - struct ibv_qp_init_attr attr = { - /* CQ to be associated with the send queue. */ - .send_cq = cq, - /* CQ to be associated with the receive queue. */ - .recv_cq = cq, - .cap = { - /* Max number of outstanding WRs. */ - .max_recv_wr = ((priv->device_attr.max_qp_wr < desc) ? - priv->device_attr.max_qp_wr : - desc), - /* Max number of scatter/gather elements in a WR. */ - .max_recv_sge = 1, - }, - .qp_type = IBV_QPT_RAW_PACKET, - }; - - qp = ibv_create_qp(priv->pd, &attr); - if (!qp) - rte_errno = errno ? errno : EINVAL; - return qp; -} - -/** * Configure a Rx queue. * * @param dev @@ -254,6 +214,7 @@ mlx4_rxq_setup(struct rte_eth_dev *dev, struct rxq *rxq, uint16_t desc, .socket = socket }; struct ibv_qp_attr mod; + struct ibv_qp_init_attr qp_init; struct ibv_recv_wr *bad_wr; unsigned int mb_len; int ret; @@ -317,8 +278,24 @@ mlx4_rxq_setup(struct rte_eth_dev *dev, struct rxq *rxq, uint16_t desc, priv->device_attr.max_qp_wr); DEBUG("priv->device_attr.max_sge is %d", priv->device_attr.max_sge); - tmpl.qp = mlx4_rxq_setup_qp(priv, tmpl.cq, desc); + qp_init = (struct ibv_qp_init_attr){ + /* CQ to be associated with the send queue. */ + .send_cq = tmpl.cq, + /* CQ to be associated with the receive queue. */ + .recv_cq = tmpl.cq, + .cap = { + /* Max number of outstanding WRs. */ + .max_recv_wr = ((priv->device_attr.max_qp_wr < desc) ? + priv->device_attr.max_qp_wr : + desc), + /* Max number of scatter/gather elements in a WR. */ + .max_recv_sge = 1, + }, + .qp_type = IBV_QPT_RAW_PACKET, + }; + tmpl.qp = ibv_create_qp(priv->pd, &qp_init); if (tmpl.qp == NULL) { + rte_errno = errno ? errno : EINVAL; ERROR("%p: QP creation failure: %s", (void *)dev, strerror(rte_errno)); goto error;