From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0A48745A79; Tue, 1 Oct 2024 13:04:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42B1D406FF; Tue, 1 Oct 2024 13:03:59 +0200 (CEST) Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011069.outbound.protection.outlook.com [52.101.65.69]) by mails.dpdk.org (Postfix) with ESMTP id 94CD2406B7 for ; Tue, 1 Oct 2024 13:03:57 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B+4MO4mzjBgkKdu3tG4/WhMBDDrasyPDQPWRUus7FwWjatJsDJG9pFoMDu+QWzXcGDJ54y9uLsvUleX28lGpJUuNmNFzrTb1PJdztpqD+6bvenmxNLS4JLKPat0kT1q6jxGOs3VFjTeuBuDswpaaAf6HRSjBQoKDDzumby9zqF93UTetfrvXDaaxzhyBsGvg+yi9V77/OMaSXGKNu1H5SEvBo6IO7DoV5OwNhZuWDhogx9Nx4eQaxKRen+h1/t2s8hVMk6XQOK5cFaSO2sq6P38e0bjvfKjTGw/yxub/jbEvzYCLfSZS1f9974g4IjE6yOzwEDSCtLYqR8s2F/zpzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SlQLyZcpxbmi7PhLTp9uOlXZwdXEk3VKjT/ip3yqASY=; b=PA9dYw4mopEUxLKWcpwCNaqBFPwSfDZcgHEUxbDvVkG6lo0oSNn1OvxyaCHtFwWkyOXFxq8sawZtb18i9/l51U8ZTtWV/Je67weBvDvfweSNJnpQPhhUc+ntdrMCp02yEpZdeEsTIufqXsYxajA8i9E798wVdGmKTVzfXuJV91YVlWuj4YVe1m/ypEhk8iCEBDhky2/FDlfNHog4k4LnoYq8XhnSUeGD+K8olbZh3jC7d6/0kU1R7zhlCle2LZ05TmaJ1IztG/tJNmvFmU12RnO94CmCbe86v2ZpB9CFWZJH92w/2Blq+QKQrrnSxS1uAos0avPrpMTaEeQEhdPHFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SlQLyZcpxbmi7PhLTp9uOlXZwdXEk3VKjT/ip3yqASY=; b=eoR9ywZanwXB5SQ5OI6vKy6HiLvqemJKixndDNIkM1Q508xA1scEh2qvhuF+5AUPnD5pscWo4JILSXY/3Yy9x0cl2gIoP+61wYlYd788VLPkY6KfwlCRm3QbQvkcDOUnzs3kIJ6XrBZvVjLwZId2ILave+iwCkj2FB5dLDOR3NEW0gP6m95zsOGnIHSKdnfgOiEArZqq0RU4X0zSraDBYK4Q2bpv6TnfmEZNupnui7JEJYZ1zgLxK5nvRxhsaLGJc0+Xi8/NI3+1am7OqCz2TQF38Q1AbyMbj8UF+Et04Ns8157lzEQ5SdRQ8VpF/M85pz3aSsaasACVw/orsbE2mg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) by PAXPR04MB8702.eurprd04.prod.outlook.com (2603:10a6:102:21d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Tue, 1 Oct 2024 11:03:52 +0000 Received: from PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::367:d59:375:fb87]) by PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::367:d59:375:fb87%3]) with mapi id 15.20.8005.026; Tue, 1 Oct 2024 11:03:52 +0000 From: Hemant Agrawal To: dev@dpdk.org Cc: ferruh.yigit@amd.com, Vanshika Shukla Subject: [PATCH v5 07/18] net/dpaa: add support to separate Tx conf queues Date: Tue, 1 Oct 2024 16:33:14 +0530 Message-Id: <20241001110325.4173762-8-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241001110325.4173762-1-hemant.agrawal@nxp.com> References: <20240930121525.3452847-1-hemant.agrawal@nxp.com> <20241001110325.4173762-1-hemant.agrawal@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR02CA0086.apcprd02.prod.outlook.com (2603:1096:4:90::26) To PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9328:EE_|PAXPR04MB8702:EE_ X-MS-Office365-Filtering-Correlation-Id: ef83b4ff-f1ba-44e5-3577-08dce208bc33 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|52116014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PwlRq2x/EX+0N2G0L7KvUih5SYKoTSmsBB0YV/6Ka0qKhqdjMNYMq4NkbFpu?= =?us-ascii?Q?aJd+jFBqjiuHketSa0xS00ZBEaNzA9zbuKaBFHS3X39eNf81pZLD6F1R5ywJ?= =?us-ascii?Q?08rhPn8FRroikEw5XBq099mihok93LVjRqU7OX8uK6LaxIc6seGhGByiB6a9?= =?us-ascii?Q?GQ2pr3x68ihRPuTAxZJCsbJlVAkm3ohz0xqzBdJ4Gxe8EPyCA23RHxWslJ9H?= =?us-ascii?Q?vUYGzANkbMe9u9yZQHGLU1E9K+Cd0Z0vN3Ui0y77p1A8PBNzgw4symeuALre?= =?us-ascii?Q?O27gt1iXDDGCV4sN9W+4vpUvpvZ/kvU5ayRHUZ4KSrxGoE1OK4wJ8tYh6b/i?= =?us-ascii?Q?ZIiy7ozmva4xBhVodpx/XNyUjnGtyTdytVNnSN+dpG2U2z4+fluO90ajL16+?= =?us-ascii?Q?JUnAwqe8oA+vigslgRR5/Jfb9HKlvGv13hnXzMIY56F8VDAWeINp/WrnfjHe?= =?us-ascii?Q?Ri7dU6Wh3l3X4hdPxk75o/cf65NOifmEK1xT97YG5CYNnz2YKvkMAGDgEkxY?= =?us-ascii?Q?1oTESUiK8U1VwmkC2xX4//tLC3hMlgobCeBa4R8rh4bLXb3yqrUTOU10DUy9?= =?us-ascii?Q?/56g9tdf0SfHSXTtPknt1KfVcg4dZmTJJJv3vrrJ9c58wnLw4RtdyxGFRq0T?= =?us-ascii?Q?MpHCyYoP9UkfVxgpIMiGtACYdfurCJH74fvyXW5F42QPaAdtsYzvQ7EDYK5q?= =?us-ascii?Q?/ahX0+28ehyrJYl+NMiwgQ1zUoaZ1byReR3wOKFCeTDBKXM1QrUjK/g6tQF0?= =?us-ascii?Q?sVl/IPurciAfrTZZKI73DHldrYc2wnKD11Vke1Ap8CtDwJ6L6QhXYXuhUEaM?= =?us-ascii?Q?WMRk7rP+sffG/n0fnaJKhwiLjlyMfBNHd3PdlSrP8m4w6lPwM1Tjif6Rb5ez?= =?us-ascii?Q?doq3ihQgeybrN2YqYq1XqqP3fhjFH0o4i7ucsIzSGAb9UYGKu41Qy1kpjaCm?= =?us-ascii?Q?3MvaiuM/gLBRnAFs4eTa52UjmAduKE+GmqLHTXG5695NlRBISELnCPB88hua?= =?us-ascii?Q?FYOMr08m6jwiYOSz88xxX1MNwCTY0XBOvFNIUdaANutHiNFJyZrlBb5auxch?= =?us-ascii?Q?HUsZeb9+Rb3TEN4Cpwd0euwx5nrnv98igjQ5kNI8iYodNP20vzXl/uEoZUiY?= =?us-ascii?Q?gMuvNEOWzgm1zTT32WkngYwOuDRVg7P1grrfhyNRbpP5HL/cSrpc1scjUiJK?= =?us-ascii?Q?BwP1XxZmCfTVcBlrvq/t1Tf1ZIxsRyW11hlMNeSsfaLJs5z5UUqZu/NMQcF4?= =?us-ascii?Q?bS37VYTfnYFaa6yZ6sdXwKUIB/7YC+gEMv9xaCfFahooMzdo+eEA6jMblQMe?= =?us-ascii?Q?ZtLt1AXr+Ex5jdsk7hCZUzXqw5UfbBujtAz00fvjj91jsQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB9328.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(52116014)(1800799024)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vHQDZg9EGB5IXybQ15fn9GuJ9poRs22r/mAyYQkDu0qG+IHEiPAii2W28Oac?= =?us-ascii?Q?9qlmyIlPHwQPsR08WjcH+fEeNOW1ivayQkPQ3XV3Ojz5lF+KKkIK2wLAmEe9?= =?us-ascii?Q?mc2ccA8yW3fxNVWWPkGCGmpkqopoq2I+2vKqq9fL+86LI6cC0df2TC6DzXsj?= =?us-ascii?Q?GarPIQhSDuajlKJaQaiJlRPlS3s3sETYY36JaXNkLAKsjEec5h11zCXvXavc?= =?us-ascii?Q?zZCof0Pvy9gp3KOgJYJgaCy1M7WPu6ayrXho90kBZQ4YJ40KRdUru0WJ76+X?= =?us-ascii?Q?NC6AeB7Pp2CwSBSnGyWZwmEn6Nun8e0X4H3FGeGcX7Gb3QXFCVIP4yrschx+?= =?us-ascii?Q?58QAE+9mnCDKVu7BFXhFjNA8bwQ47F4gkE3DIzl0JiutYWs+4fpnxlu8Rkm3?= =?us-ascii?Q?v74RSze0+5nRKWsPXZbJyMVVnAjYf1eWdu4lIz9493hw1T7W9Q4q+dbQZJPj?= =?us-ascii?Q?4ecvzuluUrCVVNO91yXGMGLKJJej/+nUnClJm2mwbz3VOKMe+i5zFumDirZN?= =?us-ascii?Q?dCAj4LdXq9oMPQvv1RBtdF743iB4eOS2JeOEMvhCXS0vOWc1n3DNfn/5/En7?= =?us-ascii?Q?Isf5Giuo6we+Nqy7i+Yctqgc6wO0bnexo8Ht7XLNVe/ITBrTAPAuKiNzXqtR?= =?us-ascii?Q?AqHbWDhQ/i/Zd+jJ6+Bhk/xItExuGWrEA40JUJn36N36qPLCKutjdyQ2dzAA?= =?us-ascii?Q?1jb1eHO3xOYB7mbMD6MQFywh8MBnlSjQ4MKLFTUqfzCK4MiY9kfRClRopF4t?= =?us-ascii?Q?h9FW4ql92rjkut22lExPxLL+13yyLR6ffVvTwCSjcW5uUvrgEGLrWcPGV0PH?= =?us-ascii?Q?Hm2bFOEGDKysNPFg4vRxmFf8vLYzYN13wOrLEaTDKkHIaMJiKJOsCU8c0O8z?= =?us-ascii?Q?k7owcynWcNArH2B1mmnI77VrQlj/kFNWQDW00sPltXZiZrV1eArmJrSFM8GY?= =?us-ascii?Q?HqteEAWtpXtAKticTsiNfPiOKylDeRJT9bd4vyF/d9bOm+2u6HdOMDEcdQhz?= =?us-ascii?Q?P98z37LoC/j+9GnF4XpC/OzQDBnJctWetrxvLciu+bPHYm5C9TAX+DEYr86r?= =?us-ascii?Q?BoSkY20+6glOFZ9qyow4O6jZOhAt5BtIAtS9Zrl3gL3a4WScEET1wBG57B5G?= =?us-ascii?Q?HWrzs/nfyDEpHcMYqY8i9rWER6elTjKyYtgVaD6rzWqwAs59FscQvx2Tcnfw?= =?us-ascii?Q?tzJBjqdvqAuvNkUmrpVY1V5GxKIAcP/3yczpRLLBVX9W1a1dJIPxwd1SE2TC?= =?us-ascii?Q?e9NL/0jgZO3E0mbceAKVO+qNrlt/rR/L514PNIhN1fk3tKu2cN8lIroUfyAt?= =?us-ascii?Q?vT2JWwnN677P07NczmHX6QON3DZWDMRoB2wUOJmS7lkMkHJKrDUDrSKZ4ri3?= =?us-ascii?Q?lZEdLK+gL8xi8XSlu6fDBgFq48WLgcK9sXa5hvT4C3YXSoP3Zcyu021b75Px?= =?us-ascii?Q?/tFFI9TLJdDscLIiklW0hKqYE0jzxeUQ3OCV9CBcb1MKAn3EzdaBwdT9gcoq?= =?us-ascii?Q?r1mkD6Vr835KSdNAA/2B29mT21Jq5JqbAptRVpAmiosYkNzB0RedhOL4E69L?= =?us-ascii?Q?6OcOWd8G9immAJsTxsdzJML+PIOKeBBB0k//6vwXyXZK01rDNfoF2ojFhbN1?= =?us-ascii?Q?fw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef83b4ff-f1ba-44e5-3577-08dce208bc33 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9328.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2024 11:03:52.6485 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GTrAllpbEkUCrGAD1LNVspo6Ln7pVCrgT7SFYmhRvRs2D7j5cw/f0ZlrA0dXdgNVUBr0JrNiL+XwY+ntU98VmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8702 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Vanshika Shukla This patch separates Tx confirmation queues for kernel and DPDK so as to support the VSP case. Signed-off-by: Vanshika Shukla Acked-by: Hemant Agrawal --- drivers/bus/dpaa/include/fsl_qman.h | 4 ++- drivers/net/dpaa/dpaa_ethdev.c | 45 +++++++++++++++++++++-------- drivers/net/dpaa/dpaa_rxtx.c | 3 +- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include/fsl_qman.h index c0677976e8..db14dfb839 100644 --- a/drivers/bus/dpaa/include/fsl_qman.h +++ b/drivers/bus/dpaa/include/fsl_qman.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2008-2012 Freescale Semiconductor, Inc. - * Copyright 2019 NXP + * Copyright 2019-2022 NXP * */ @@ -1237,6 +1237,8 @@ struct qman_fq { /* DPDK Interface */ void *dpaa_intf; + /*to store tx_conf_queue corresponding to tx_queue*/ + struct qman_fq *tx_conf_queue; struct rte_event ev; /* affined portal in case of static queue */ diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index bba305cfb1..3ee3029729 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -1870,9 +1870,30 @@ static int dpaa_tx_queue_init(struct qman_fq *fq, return ret; } -/* Initialise a DEBUG FQ ([rt]x_error, rx_default) and DPAA TX CONFIRM queue - * to support PTP - */ +static int +dpaa_tx_conf_queue_init(struct qman_fq *fq) +{ + struct qm_mcc_initfq opts = {0}; + int ret; + + PMD_INIT_FUNC_TRACE(); + + ret = qman_create_fq(0, QMAN_FQ_FLAG_DYNAMIC_FQID, fq); + if (ret) { + DPAA_PMD_ERR("create Tx_conf failed with ret: %d", ret); + return ret; + } + + opts.we_mask = QM_INITFQ_WE_DESTWQ | QM_INITFQ_WE_FQCTRL; + opts.fqd.dest.wq = DPAA_IF_DEBUG_PRIORITY; + ret = qman_init_fq(fq, 0, &opts); + if (ret) + DPAA_PMD_ERR("init Tx_conf fqid %d failed with ret: %d", + fq->fqid, ret); + return ret; +} + +/* Initialise a DEBUG FQ ([rt]x_error, rx_default) */ static int dpaa_def_queue_init(struct qman_fq *fq, uint32_t fqid) { struct qm_mcc_initfq opts = {0}; @@ -2170,6 +2191,15 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev) if (ret) goto free_tx; dpaa_intf->tx_queues[loop].dpaa_intf = dpaa_intf; + + if (dpaa_ieee_1588) { + ret = dpaa_tx_conf_queue_init(&dpaa_intf->tx_conf_queues[loop]); + if (ret) + goto free_tx; + + dpaa_intf->tx_conf_queues[loop].dpaa_intf = dpaa_intf; + dpaa_intf->tx_queues[loop].tx_conf_queue = &dpaa_intf->tx_conf_queues[loop]; + } } dpaa_intf->nb_tx_queues = MAX_DPAA_CORES; @@ -2190,16 +2220,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev) DPAA_PMD_ERR("DPAA TX ERROR queue init failed!"); goto free_tx; } - dpaa_intf->debug_queues[DPAA_DEBUG_FQ_TX_ERROR].dpaa_intf = dpaa_intf; - ret = dpaa_def_queue_init(dpaa_intf->tx_conf_queues, - fman_intf->fqid_tx_confirm); - if (ret) { - DPAA_PMD_ERR("DPAA TX CONFIRM queue init failed!"); - goto free_tx; - } - dpaa_intf->tx_conf_queues->dpaa_intf = dpaa_intf; } - DPAA_PMD_DEBUG("All frame queues created"); /* Get the initial configuration for flow control */ diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index 8593e20200..3bd35c7a0e 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -1083,8 +1083,7 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) struct dpaa_sw_buf_free buf_to_free[DPAA_MAX_SGS * DPAA_MAX_DEQUEUE_NUM_FRAMES]; uint32_t free_count = 0; struct qman_fq *fq = q; - struct dpaa_if *dpaa_intf = fq->dpaa_intf; - struct qman_fq *fq_txconf = dpaa_intf->tx_conf_queues; + struct qman_fq *fq_txconf = fq->tx_conf_queue; if (unlikely(!DPAA_PER_LCORE_PORTAL)) { ret = rte_dpaa_portal_init((void *)0); -- 2.25.1