From patchwork Wed Oct 11 14:35:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 30125 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 425AF1B1EC; Wed, 11 Oct 2017 16:36:23 +0200 (CEST) Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id 9BE4B1B1A1 for ; Wed, 11 Oct 2017 16:36:20 +0200 (CEST) Received: by mail-wm0-f52.google.com with SMTP id q132so5437954wmd.2 for ; Wed, 11 Oct 2017 07:36:20 -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=TJlhNOhhCKB8C9QBadTkFr2ssAn9w87W28pZvFzv8qTW50tyly+MTRTBPQJryIx66g gziovBWomqLI4b9utl2JV7IFSRBUTFkHNk85UV5KxBEfD6QzudvsV6zcAMtWtnHNKZj3 8oSLZATIq87Q/zRZ2bwlc4Cs1jhw29xZ8ufZAX2VPKtxBsgr8Xwo0BvT9ofven/XDc1r LaIrLpolplAeCsRSK/IaySF2SXsnZ4XTfmZOg88IE7ydSvJA5YZZhUTFgimQWs/IJm5n Wwab5bOAVb9bpSmdPXD0s6uJV9CS+2Yx8ws/usiSG+iTp+AzQ9763bcue8/QOQZpEEEY S2lQ== 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=mLmAniEzWvV+8emcXF8GP/GXvJfyncGifcyzen0463J4N723W609aHrphIjyhxk6wJ tTLCPHJIjMGU1PsDQC+EdYhn2mqVjzwAgPXN1NLTkxuWv3Gx3DdUq6J2AHE2eRpfiHHM ic+yPGiCNkONCpA2JC56MN5KWgQO7My1jORmoBpzjBO1hQL+QRUAE2eOocEnij5i4FoG gAPRYHbSfhgBZNEQ25dmT5BqUzMvV7QPIVf64bMeEGAZFwr64U2mu35vyfartbiHVH2W y2q3FwmoFlhV/EAqI8YeEcnHHKFNmpbcUtEqEr2SqrF8i58bjuUf/C0wAQraIScitIo8 mIEg== X-Gm-Message-State: AMCzsaWNwNKirHy6LF/bvSCOVqRID69lkthKpFhzcaYVVaOjCNZ7H5Uh /3AM+PV6ZyZtkR1VHSD2BkAzSUsA X-Google-Smtp-Source: AOwi7QC1toSGJ7R5UMA4teEdM91vRszxl9/mDB5eb2x2gWdqa6zCHew9wqLJ1EMJI8THFLA908SJvQ== X-Received: by 10.28.113.196 with SMTP id d65mr12730880wmi.151.1507732580268; Wed, 11 Oct 2017 07:36:20 -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 g25sm19800803wmc.16.2017.10.11.07.36.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Oct 2017 07:36:19 -0700 (PDT) From: Adrien Mazarguil To: Ferruh Yigit Cc: dev@dpdk.org Date: Wed, 11 Oct 2017 16:35:05 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v1 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;