From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hemant Agrawal Subject: [PATCH 1/4] bus/dpaa: fq lookup table saved for secondary process Date: Tue, 26 Mar 2019 12:01:44 +0000 Message-ID: <20190326115952.26278-1-hemant.agrawal@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "ferruh.yigit@intel.com" , Shreyansh Jain , Akhil Goyal To: "dev@dpdk.org" Return-path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20048.outbound.protection.outlook.com [40.107.2.48]) by dpdk.org (Postfix) with ESMTP id 53411A3 for ; Tue, 26 Mar 2019 13:01:45 +0100 (CET) Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Akhil Goyal A reference to qman_fq_lookup_table need to be saved in each fq, so that it is retrieved while in running secondary process. Signed-off-by: Akhil Goyal --- drivers/bus/dpaa/base/qbman/qman.c | 8 +++++++- drivers/bus/dpaa/include/fsl_qman.h | 6 ++++++ drivers/bus/dpaa/rte_bus_dpaa_version.map | 7 +++++++ drivers/net/dpaa/dpaa_ethdev.c | 6 ++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbm= an/qman.c index dc64d0896..c6f7d7bb3 100644 --- a/drivers/bus/dpaa/base/qbman/qman.c +++ b/drivers/bus/dpaa/base/qbman/qman.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2008-2016 Freescale Semiconductor Inc. - * Copyright 2017 NXP + * Copyright 2017,2019 NXP * */ =20 @@ -167,6 +167,11 @@ int qman_setup_fq_lookup_table(size_t num_entries) return 0; } =20 +void qman_set_fq_lookup_table(void **fq_table) +{ + qman_fq_lookup_table =3D fq_table; +} + /* global structure that maintains fq object mapping */ static DEFINE_SPINLOCK(fq_hash_table_lock); =20 @@ -1408,6 +1413,7 @@ int qman_create_fq(u32 fqid, u32 flags, struct qman_f= q *fq) pr_info("Find empty table entry failed\n"); return -ENOMEM; } + fq->qman_fq_lookup_table =3D qman_fq_lookup_table; #endif if (!(flags & QMAN_FQ_FLAG_AS_IS) || (flags & QMAN_FQ_FLAG_NO_MODIFY)) return 0; diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include= /fsl_qman.h index e43841499..ef598ccff 100644 --- a/drivers/bus/dpaa/include/fsl_qman.h +++ b/drivers/bus/dpaa/include/fsl_qman.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2008-2012 Freescale Semiconductor, Inc. + * Copyright 2019 NXP * */ =20 @@ -1233,6 +1234,7 @@ struct qman_fq { =20 struct rb_node node; #ifdef CONFIG_FSL_QMAN_FQ_LOOKUP + void **qman_fq_lookup_table; u32 key; #endif }; @@ -1307,6 +1309,10 @@ struct qman_cgr { #define QMAN_CGR_FLAG_USE_INIT 0x00000001 #define QMAN_CGR_MODE_FRAME 0x00000001 =20 +#ifdef CONFIG_FSL_QMAN_FQ_LOOKUP +void qman_set_fq_lookup_table(void **table); +#endif + /** * qman_get_portal_index - get portal configuration index */ diff --git a/drivers/bus/dpaa/rte_bus_dpaa_version.map b/drivers/bus/dpaa/r= te_bus_dpaa_version.map index 70076c7ac..c88deaf7f 100644 --- a/drivers/bus/dpaa/rte_bus_dpaa_version.map +++ b/drivers/bus/dpaa/rte_bus_dpaa_version.map @@ -116,3 +116,10 @@ DPDK_18.11 { =20 local: *; } DPDK_18.08; + +DPDK_19.05 { + global: + qman_set_fq_lookup_table; + + local: *; +} DPDK_18.11; diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.= c index ba66aa2a0..d42ac6286 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -1225,11 +1225,17 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev) =20 PMD_INIT_FUNC_TRACE(); =20 + dpaa_intf =3D eth_dev->data->dev_private; /* For secondary processes, the primary has done all the work */ if (rte_eal_process_type() !=3D RTE_PROC_PRIMARY) { eth_dev->dev_ops =3D &dpaa_devops; /* Plugging of UCODE burst API not supported in Secondary */ eth_dev->rx_pkt_burst =3D dpaa_eth_queue_rx; + eth_dev->tx_pkt_burst =3D dpaa_eth_queue_tx; +#ifdef CONFIG_FSL_QMAN_FQ_LOOKUP + qman_set_fq_lookup_table( + dpaa_intf->rx_queues->qman_fq_lookup_table); +#endif return 0; } =20 --=20 2.17.1