DPDK patches and discussions
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org, thomas@monjalon.net, ferruh.yigit@intel.com
Subject: [dpdk-dev] [PATCH v3 01/13] net/dpaa: configure frame queue on MAC ID basis
Date: Fri, 21 Sep 2018 16:35:50 +0530	[thread overview]
Message-ID: <1537527962-25757-2-git-send-email-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <1537527962-25757-1-git-send-email-hemant.agrawal@nxp.com>

The current code has the hardcoded seq for fq allocation.
It require multiple changes, when some of the interfaces
are assigned to kernel stack. Changing it on the mac
id basis provide the flexibility to assign any interface
to kernel.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/net/dpaa/dpaa_ethdev.c | 25 ++++++++++++++-----------
 drivers/net/dpaa/dpaa_ethdev.h |  2 +-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 30eff65..b9bd557 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1011,7 +1011,7 @@ static int dpaa_rx_queue_init(struct qman_fq *fq, struct qman_cgr *cgr_rx,
 {
 	struct qm_mcc_initfq opts = {0};
 	int ret;
-	u32 flags = 0;
+	u32 flags = QMAN_FQ_FLAG_NO_ENQUEUE;
 	struct qm_mcc_initcgr cgr_opts = {
 		.we_mask = QM_CGR_WE_CS_THRES |
 				QM_CGR_WE_CSTD_EN |
@@ -1024,15 +1024,18 @@ static int dpaa_rx_queue_init(struct qman_fq *fq, struct qman_cgr *cgr_rx,
 
 	PMD_INIT_FUNC_TRACE();
 
-	ret = qman_reserve_fqid(fqid);
-	if (ret) {
-		DPAA_PMD_ERR("reserve rx fqid 0x%x failed with ret: %d",
-			     fqid, ret);
-		return -EINVAL;
+	if (fqid) {
+		ret = qman_reserve_fqid(fqid);
+		if (ret) {
+			DPAA_PMD_ERR("reserve rx fqid 0x%x failed with ret: %d",
+				     fqid, ret);
+			return -EINVAL;
+		}
+	} else {
+		flags |= QMAN_FQ_FLAG_DYNAMIC_FQID;
 	}
-
 	DPAA_PMD_DEBUG("creating rx fq %p, fqid 0x%x", fq, fqid);
-	ret = qman_create_fq(fqid, QMAN_FQ_FLAG_NO_ENQUEUE, fq);
+	ret = qman_create_fq(fqid, flags, fq);
 	if (ret) {
 		DPAA_PMD_ERR("create rx fqid 0x%x failed with ret: %d",
 			fqid, ret);
@@ -1051,7 +1054,7 @@ static int dpaa_rx_queue_init(struct qman_fq *fq, struct qman_cgr *cgr_rx,
 		if (ret) {
 			DPAA_PMD_WARN(
 				"rx taildrop init fail on rx fqid 0x%x(ret=%d)",
-				fqid, ret);
+				fq->fqid, ret);
 			goto without_cgr;
 		}
 		opts.we_mask |= QM_INITFQ_WE_CGID;
@@ -1059,7 +1062,7 @@ static int dpaa_rx_queue_init(struct qman_fq *fq, struct qman_cgr *cgr_rx,
 		opts.fqd.fq_ctrl |= QM_FQCTRL_CGE;
 	}
 without_cgr:
-	ret = qman_init_fq(fq, flags, &opts);
+	ret = qman_init_fq(fq, 0, &opts);
 	if (ret)
 		DPAA_PMD_ERR("init rx fqid 0x%x failed with ret:%d", fqid, ret);
 	return ret;
@@ -1212,7 +1215,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 		if (default_q)
 			fqid = cfg->rx_def;
 		else
-			fqid = DPAA_PCD_FQID_START + dpaa_intf->ifid *
+			fqid = DPAA_PCD_FQID_START + dpaa_intf->fif->mac_idx *
 				DPAA_PCD_FQID_MULTIPLIER + loop;
 
 		if (dpaa_intf->cgr_rx)
diff --git a/drivers/net/dpaa/dpaa_ethdev.h b/drivers/net/dpaa/dpaa_ethdev.h
index c79b9f8..2c38c34 100644
--- a/drivers/net/dpaa/dpaa_ethdev.h
+++ b/drivers/net/dpaa/dpaa_ethdev.h
@@ -63,7 +63,7 @@
 #define DPAA_PCD_FQID_START		0x400
 #define DPAA_PCD_FQID_MULTIPLIER	0x100
 #define DPAA_DEFAULT_NUM_PCD_QUEUES	1
-#define DPAA_MAX_NUM_PCD_QUEUES		32
+#define DPAA_MAX_NUM_PCD_QUEUES		4
 
 #define DPAA_IF_TX_PRIORITY		3
 #define DPAA_IF_RX_PRIORITY		0
-- 
2.7.4

  reply	other threads:[~2018-09-21 11:08 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-29 10:47 [dpdk-dev] [PATCH 00/13] driver/net: NXP DPAA driver enhancements Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 01/13] net/dpaa: configure frame queue on MAC ID basis Hemant Agrawal
2018-09-18 13:31   ` [dpdk-dev] [PATCH v2 00/13] NXP DPAA driver enhancements Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 01/13] net/dpaa: configure frame queue on MAC ID basis Hemant Agrawal
2018-09-21 11:05       ` [dpdk-dev] [PATCH v3 00/13] NXP DPAA driver enhancements Hemant Agrawal
2018-09-21 11:05         ` Hemant Agrawal [this message]
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 02/13] net/dpaa: fix jumbo buffer config Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 03/13] net/dpaa: implement scatter offload support Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 04/13] net/dpaa: fix link speed based on MAC type Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 05/13] net/dpaa: minor debug log enhancements Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 06/13] bus/dpaa: add interrupt based portal fd support Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 07/13] bus/dpaa: avoid tag Set for eqcr in Tx path Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 08/13] bus/dpaa: avoid using be conversions for contextb Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 09/13] net/dpaa: rearranging of atomic queue support code Hemant Agrawal
2018-09-21 11:05         ` [dpdk-dev] [PATCH v3 10/13] net/dpaa: separate Rx function for LS1046 Hemant Agrawal
2018-09-21 11:06         ` [dpdk-dev] [PATCH v3 11/13] net/dpaa: tune prefetch in Rx path Hemant Agrawal
2018-09-21 11:06         ` [dpdk-dev] [PATCH v3 12/13] bus/dpaa: add check for re-definition in compat Hemant Agrawal
2018-09-21 11:06         ` [dpdk-dev] [PATCH v3 13/13] mempool/dpaa: change the debug log level to DP Hemant Agrawal
2018-09-24 14:28         ` [dpdk-dev] [PATCH v3 00/13] NXP DPAA driver enhancements Ferruh Yigit
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 02/13] net/dpaa: fix jumbo buffer config Hemant Agrawal
2018-09-18 14:03       ` Thomas Monjalon
2018-09-18 16:22         ` Hemant
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 03/13] net/dpaa: implement scatter offload support Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 04/13] net/dpaa: fix link speed based on MAC type Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 05/13] net/dpaa: minor debug log enhancements Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 06/13] bus/dpaa: add interrupt based portal fd support Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 07/13] bus/dpaa: avoid tag Set for eqcr in Tx path Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 08/13] bus/dpaa: avoid using be conversions for contextb Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 09/13] net/dpaa: rearranging of atomic queue support code Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 10/13] net/dpaa: separate Rx function for LS1046 Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 11/13] net/dpaa: tune prefetch in Rx path Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 12/13] bus/dpaa: add check for re-definition in compat Hemant Agrawal
2018-09-18 13:31     ` [dpdk-dev] [PATCH v2 13/13] mempool/dpaa: change the debug log level to DP Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 02/13] net/dpaa: fix jumbo buffer config Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 03/13] net/dpaa: implement scatter offload support Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 04/13] net/dpaa: set correct speed based on MAC type Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 05/13] net/dpaa: minor debug log enhancements Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 06/13] bus/dpaa: add interrupt based portal fd support Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 07/13] bus/dpaa: avoid tag Set for eqcr in Tx path Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 08/13] bus/dpaa: avoid using be conversions for contextb Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 09/13] net/dpaa: rearranging of atomic queue support code Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 10/13] net/dpaa: separate Rx function for LS1046 Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 11/13] net/dpaa: tune prefetch in Rx path Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 12/13] bus/dpaa: add check for re-definition in compat Hemant Agrawal
2018-08-29 10:47 ` [dpdk-dev] [PATCH 13/13] mempool/dpaa: change the debug log level to DP Hemant Agrawal
2018-09-14 10:56 ` [dpdk-dev] [PATCH 00/13] driver/net: NXP DPAA driver enhancements Ferruh Yigit
2018-09-16 19:44   ` Thomas Monjalon
2018-09-17  3:21     ` Hemant Agrawal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1537527962-25757-2-git-send-email-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).