From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93E70A04F3 for ; Thu, 19 Dec 2019 15:36:53 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 88EA21BF80; Thu, 19 Dec 2019 15:36:53 +0100 (CET) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 1AC041BF80 for ; Thu, 19 Dec 2019 15:36:51 +0100 (CET) Received: by mail-wr1-f68.google.com with SMTP id q6so6190886wro.9 for ; Thu, 19 Dec 2019 06:36:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=35s6gbLpr8lq6hH7hYIpKIi3vqJX/jowA60+pa+nXTM=; b=ExDZibxwpCjug5Qeg/jZpyovE2Y3RVGJbuebKbZdMJiHL6vBpZouGj33QzerpSdm32 Gz07G++JlhkAafCwWPibro5kU/f47OtlcNfZUN5H+sBIAWHpaBeW+IXuzUmdjIYy9FtC iojQMFfKLLEido4/h6oPWDxa7KFsddsxF+AA0yg6f6Y3GbCWZVRI+WfrKetfl8jDHdV8 2z9UiIb/yXVSQSyCWXIrTkFq7AD6MR8hU0oTxwZaKws1V31z8x+8d00pcPOQ0yCWzqfC Yr0kYQJ11CZMJYHRXfiPHfdzs7TwCUr8LudMOFZa8YDIo32tyqGaIgRaPi7j5vnxqTO9 HM5g== 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:mime-version:content-transfer-encoding; bh=35s6gbLpr8lq6hH7hYIpKIi3vqJX/jowA60+pa+nXTM=; b=foHd9gWytPe45B8SPs7oqh1SyXpWfZTX8E4rEYPcYNJ/2Q7b7NA8xHm44MexJbhUgG ebEbXKHSp4X74RESfZeOoY7FzQJhpbme5rcBGh/S3YmhPkhGIkGQVl68AnibDYSH6ObY UF06bfrHMyEPMmt13GFSKMW3Nkx+FQIKTp7hVD1DO7rE3+Lbi38HOehW5i+niTMZuL0C VGF1ZkGuXhQ06lNq4ukv01A7meUQLdVf6oOmUTQrGKRyXXant/Cg/QazENDpSr29akRF F1w5Ryu5f8IahWnpNEKVTRQELq0YHhwBbEqKHLziPaDx3eDscho04BmGpoeqk9Nj8e5D BlZQ== X-Gm-Message-State: APjAAAXHRpky1W8x1FRO4rp0pe0fUfLcYw7+nEKbToHbhMAHf7TMK0TM M2Ox/MDFHzy5FROEitmTm4g= X-Google-Smtp-Source: APXvYqyNZfqqnSCucJNYU1SBr9tU/7ZG9WNMIYiASEzssP+QWyDdUy1i18skftkVlSKRgQNnFUXyVg== X-Received: by 2002:a05:6000:50:: with SMTP id k16mr9677673wrx.145.1576766211040; Thu, 19 Dec 2019 06:36:51 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id h2sm6897898wrt.45.2019.12.19.06.36.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Dec 2019 06:36:50 -0800 (PST) From: luca.boccassi@gmail.com To: Rahul Gupta Cc: Ajit Khaparde , Somnath Kotur , dpdk stable Date: Thu, 19 Dec 2019 14:33:10 +0000 Message-Id: <20191219143447.21506-43-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191219143447.21506-1-luca.boccassi@gmail.com> References: <20191219143447.21506-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/bnxt: fix Rx queue count' has been queued to LTS release 17.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 17.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/21/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. Luca Boccassi --- >From a48d576d0e302d86fb6de853859c0bb401b3ef3b Mon Sep 17 00:00:00 2001 From: Rahul Gupta Date: Wed, 2 Oct 2019 10:17:42 -0700 Subject: [PATCH] net/bnxt: fix Rx queue count [ upstream commit 34c0ba839baeaf9a8621e4e3524eec96f82dfce0 ] Fix Computing of number of used descriptors in an Rx queue. Fixes: 1b7ceba3e375 ("net/bnxt: support Rx queue count") Signed-off-by: Rahul Gupta Signed-off-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_ethdev.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 0e990014d0..c699d29b8d 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1644,39 +1644,22 @@ bnxt_rx_queue_count_op(struct rte_eth_dev *dev, uint16_t rx_queue_id) struct bnxt_cp_ring_info *cpr; struct bnxt_rx_queue *rxq; struct rx_pkt_cmpl *rxcmp; - uint16_t cmp_type; - uint8_t cmp = 1; - bool valid; rxq = dev->data->rx_queues[rx_queue_id]; cpr = rxq->cp_ring; - valid = cpr->valid; + raw_cons = cpr->cp_raw_cons; - while (raw_cons < rxq->nb_rx_desc) { + while (1) { cons = RING_CMP(cpr->cp_ring_struct, raw_cons); + rte_prefetch0(&cpr->cp_desc_ring[cons]); rxcmp = (struct rx_pkt_cmpl *)&cpr->cp_desc_ring[cons]; - if (!CMPL_VALID(rxcmp, valid)) - goto nothing_to_do; - valid = FLIP_VALID(cons, cpr->cp_ring_struct->ring_mask, valid); - cmp_type = CMP_TYPE(rxcmp); - if (cmp_type == RX_TPA_END_CMPL_TYPE_RX_TPA_END) { - cmp = (rte_le_to_cpu_32( - ((struct rx_tpa_end_cmpl *) - (rxcmp))->agg_bufs_v1) & - RX_TPA_END_CMPL_AGG_BUFS_MASK) >> - RX_TPA_END_CMPL_AGG_BUFS_SFT; - desc++; - } else if (cmp_type == 0x11) { - desc++; - cmp = (rxcmp->agg_bufs_v1 & - RX_PKT_CMPL_AGG_BUFS_MASK) >> - RX_PKT_CMPL_AGG_BUFS_SFT; + if (!CMP_VALID(rxcmp, raw_cons, cpr->cp_ring_struct)) { + break; } else { - cmp = 1; + raw_cons++; + desc++; } -nothing_to_do: - raw_cons += cmp ? cmp : 2; } return desc; -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-12-19 14:32:28.053924927 +0000 +++ 0043-net-bnxt-fix-Rx-queue-count.patch 2019-12-19 14:32:25.941294574 +0000 @@ -1,12 +1,13 @@ -From 34c0ba839baeaf9a8621e4e3524eec96f82dfce0 Mon Sep 17 00:00:00 2001 +From a48d576d0e302d86fb6de853859c0bb401b3ef3b Mon Sep 17 00:00:00 2001 From: Rahul Gupta Date: Wed, 2 Oct 2019 10:17:42 -0700 Subject: [PATCH] net/bnxt: fix Rx queue count +[ upstream commit 34c0ba839baeaf9a8621e4e3524eec96f82dfce0 ] + Fix Computing of number of used descriptors in an Rx queue. Fixes: 1b7ceba3e375 ("net/bnxt: support Rx queue count") -Cc: stable@dpdk.org Signed-off-by: Rahul Gupta Signed-off-by: Ajit Khaparde @@ -16,20 +17,16 @@ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c -index 74ded7717a..0159be3462 100644 +index 0e990014d0..c699d29b8d 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c -@@ -2096,9 +2096,6 @@ bnxt_rx_queue_count_op(struct rte_eth_dev *dev, uint16_t rx_queue_id) +@@ -1644,39 +1644,22 @@ bnxt_rx_queue_count_op(struct rte_eth_dev *dev, uint16_t rx_queue_id) struct bnxt_cp_ring_info *cpr; struct bnxt_rx_queue *rxq; struct rx_pkt_cmpl *rxcmp; - uint16_t cmp_type; - uint8_t cmp = 1; - bool valid; - int rc; - - rc = is_bnxt_in_error(bp); -@@ -2107,33 +2104,19 @@ bnxt_rx_queue_count_op(struct rte_eth_dev *dev, uint16_t rx_queue_id) rxq = dev->data->rx_queues[rx_queue_id]; cpr = rxq->cp_ring;