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 DFAD245A79; Tue, 1 Oct 2024 13:06:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2CF77406B7; Tue, 1 Oct 2024 13:04:16 +0200 (CEST) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2040.outbound.protection.outlook.com [40.107.103.40]) by mails.dpdk.org (Postfix) with ESMTP id 18DF440B9F for ; Tue, 1 Oct 2024 13:04:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T3UVb/FEkoHRyaK0NGZlGo7lDec1hfOWoC0ggRnzPq+0HabO4gbI7iXYaN3dy6ox8yw4r8b1o6npAO2cFbcyeXN/JKY5g0r8xUhewNXN44P+g8tFbuOg2DjNJo+Z774Ji7ViHxgP00LcGMCOjAl6xpj24NkcZa1rIYuZpRjLM6Ag0/+nTKwWsXlEg2oox9xv/ISfsTD/gt7gwghPxygbgnSLWVl5YX4nAe5J5yWvYtZKP8nlJZGKVeHk47bLIjkLTlUuml0cdWFTs5ZUdlucFkHpFAQjTFnFxlyIkqmM1urBK80KNMdL3+0SJqvS001Smi9aC82b9vEZw7u+YSm9NA== 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=nIHEYb+iVdZEmKXCeSRSt13eGad6ABBBk7tLqR5BCkU=; b=emnWlPKoIYHSYQtu5BykXPv1txsTDHgrfevO+0cDIVRzQoivxjkR5taWJMcFS/gthBNwVJClLUU3XOCLXF5jJMR32n/Cw/9qxxI19kQhSHlULY0gGl3AIiQPUv0ikMvlsRZFycj09x0WvObQWvQ3PV0e4LWXed6sRxNQs/L3/DR6cioGvvSEm0h3Q/jHknTwa4UdFIELkmHWihH/O7CLFu4gWfdZBd1/+R1w10tDcbuUG/nMeQTV1e8gRK9b/8dxsV3H3wAm0ThD4atrDmsE/SiXkNC6TVu2SH9aFi5WxPZsmOmn4o6AA31b8eXH7ZIHInFUcJhvZs82cdkcerE1yg== 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=nIHEYb+iVdZEmKXCeSRSt13eGad6ABBBk7tLqR5BCkU=; b=NQFyrteI4/IPCZCg7EnduHbeAsjUJtBGFRolkzdCXBV63j/LhtTpS4/m9i0/TIBEe5agFEHKpIID8HBjNM3d7VUZ08js5bWc1LOjBIglBf8njHfGEv152mZBdKYPNm7xtgjRQip0pKd/qTvtADD+R0dwFqBPsDC3WtgNzoxAghh1W7/GPh41KplXA2eXLtbWyuEnYQxkllE7LVcj2tq+7ZgZsgGK3CqDgNajr1WWgDQwo7W8FkrKG4HcZNuT1ox76mkCx+2xTpw6V2F1Y17a65tLokIB0fitW0n8AhWDhgnGBI98YtEhyehR32Fyvp0Ei6iqRKGMKGVraD7EjwxKGg== 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 DU2PR04MB9196.eurprd04.prod.outlook.com (2603:10a6:10:2fb::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Tue, 1 Oct 2024 11:04:07 +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:04:07 +0000 From: Hemant Agrawal To: dev@dpdk.org Cc: ferruh.yigit@amd.com, Jun Yang Subject: [PATCH v5 17/18] net/dpaa: improve dpaa errata A010022 handling Date: Tue, 1 Oct 2024 16:33:24 +0530 Message-Id: <20241001110325.4173762-18-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_|DU2PR04MB9196:EE_ X-MS-Office365-Filtering-Correlation-Id: 86f6e1fd-4534-4924-0964-08dce208c4d7 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?J8jnu9aUSfrGdncyyL79+fn79uEbYrC6vlAIhSHglPKKoxNyzPyeymdOpQXH?= =?us-ascii?Q?TGW20+MYzQ3tGS/twKDDVc56y/dAtbL1Ksq20F5DDhU7pAW69FGLZtPhq27i?= =?us-ascii?Q?IViuJCyUULU5KyPcJeEojGdL2NNU/H4EQsQwJIYurvGYfcf/aJ25TLSgXA7e?= =?us-ascii?Q?6PCG08n7BVFixnYP8Dgd6B1XTcPiu9FWcWPJ7nsF5t5Cq96I6/m7xu6ri7Xp?= =?us-ascii?Q?XrKty7i2V5qIaxDbIIxUDnatpz9UPIImjQDmQZd0TDVRSbkwbyzZIOr62wTV?= =?us-ascii?Q?1m7Ax4od7JQXkgkV0YFwVOED2U+wAsqhdH8p/+DT4EtxkWtJGlLFTkkpQTNM?= =?us-ascii?Q?IcPFMY4APUvJOzkofTJMNh4mTr3USrWe0tiP60GpitYMMrN/t9nZGagJ+4S+?= =?us-ascii?Q?y/FWHBC8QntjjtAZ/K/2P5JZ/Ptygv0suPrKR5BNmYjPMIdnyQuZehdlrW4F?= =?us-ascii?Q?8bFKCjZOW7cyxF0+QKK7y134ngDF5jhrqpAZKh6z6Ccju1rzGT8YP3r0tOXY?= =?us-ascii?Q?FjTSxTylCBkUlflR7c5Cmo0h70HuojF8ZnOePG8YDEZt01rrvLXBVXNpGW0j?= =?us-ascii?Q?Azo8FruR237JZxxIw0jfNbd193ayQmJdgJvrpGoGGXqNYznxRUpfB09JMzSO?= =?us-ascii?Q?Q/Mh8VlmprsT7NaraGiUyFblvpt+YT+9wWLQlST2WwITkv3M3SVMBf6Q27BZ?= =?us-ascii?Q?MCCEJTFmGBCffIhihHnWLkA04XwzJ6GKcNysfGCaFQdKOR9YdX8bH8IEmfIL?= =?us-ascii?Q?7qY8Mg1/s4AKRLw3FVx3Cla98x2CZuGICxt6um0XDhw7e58d+DT6Lch1F279?= =?us-ascii?Q?q4Bi7lsoQKYDfSGd9LFr6/pjZk2plzV3lkxpbw2hXiEbn5kKv3CNRD/PpEOR?= =?us-ascii?Q?HXjICM5X4EC05g+3n7hEQZkLNdtYZ8nJU25bq6l95IB09E0wQ1XWguFuzyxz?= =?us-ascii?Q?/OmYSAJpBVUTzZyTGWokILLUG3mgDuyAMCqr6tQsUxjs9VrB+ULac5FralWU?= =?us-ascii?Q?mPt2rDDCd5zQG2M4oX//V6uiLfyg8veoaVYL64p20l/ZDDrEvXQx20fXxLLf?= =?us-ascii?Q?C4GmlG5UgBNrwHlFkT+CQbGAHRphjBHnCwsKsh71b2FpcO85K0l5k8RLmDJx?= =?us-ascii?Q?rBnp/yhhRwwquvzRaoSh+T3IP9jiXivAdPoRYOzZyFAitFUMTvZnVBXpDMN0?= =?us-ascii?Q?TOeFod/HU1XuEA1cUvIB7tUVZJWBrnLsgKbR4rUeAt1jtqU4tdyVU2xjKlkk?= =?us-ascii?Q?RnamvVh/FDH2oTDFl0txQqGTlGp5wf0qVkWgtJp1dGfG5t8kbt3n/rXG6E8i?= =?us-ascii?Q?JFmGAmj0S+jXwai6DJmC4l/pCcMaR+aJs1hnvUH4ViT1Jg=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?qHb9Rt0+TtWgHHgIJPa4CFSIKmUObVa16Sy20fOPH5SY2GkyBaCuFpb52/E4?= =?us-ascii?Q?ZS4A08N97AadyiBGRiTL4LeyN7w4swXEJniQFPmfOj9Px/u+2aS5FzvvTtUb?= =?us-ascii?Q?aQnK3Z9UvyRF5OglMT2M4aGT8x04KajaH66lhomgmM7SQpxIoAHxXZU4bX4r?= =?us-ascii?Q?iTtDZwEAVG5wD2Re0gH0TdlLBkPGM11vpm4L3cyh8BNrX/dLAMI/OUII+Fc6?= =?us-ascii?Q?SiOja/6ONTbmyvdej0Q1HTIg2FlaUV26g8ZDt6R3NVbPQ+gIaTWi6WymixQB?= =?us-ascii?Q?CmIjXzcXhSATp5AFe3fuj0g6ZpKTp1hMCGHFnS0WWZUs7mh5fZxSV5os98JS?= =?us-ascii?Q?3fQtXWyEXzVzY+oNNkHd9bXzxguBsRid+CSaInAbHINKW2mAHEPP8qABOgzl?= =?us-ascii?Q?R8afEg5TMu4BEg+0dg4dYhgwqMrfFSGIulbKBM0QLKd6siA8wwiIWDH5LN4b?= =?us-ascii?Q?A8WDCeH7OG4ksrWuw2SPGMLTWGUVX44yZWV6LwPjviHtDWyB+8ZYY68JCBXb?= =?us-ascii?Q?NAsaCWGa+o/fENPowPxxlJ6mlabdOpJMAp6mZMjGs23MrFTCO7tph7lcuLxY?= =?us-ascii?Q?12Un4FjCG5GP3SPs5Ws+YYbnx1DlY8RNOq4kiRlZJ0I+grGK2d5THgTe6E5m?= =?us-ascii?Q?uipQ0q7nfynY6idv/vp4kS0yrVkzIas0dplyXoK35bIqmx6Or7U0Bs3PVyAV?= =?us-ascii?Q?eT4RxivcDPEKke62PVhm98sclUBqPNsroX+Ia0FuKXe+W5+7X+tXxGe/NRkQ?= =?us-ascii?Q?Uzl3xqd2Toujc5o8edx3QPSj90vLhtGCvZ8L/OB+oW4pjh0ObNqp3coTwqiN?= =?us-ascii?Q?pEoVdyBEU+sI8EQmYXj5mP53yLjv26xFIlq7VyOeL+FK5fb0EO5owFo4fERG?= =?us-ascii?Q?RPLsWDVvTI9EU21771s5zJ/TNscDwLIHdeDVvyw5eY7WvF2oc4lswnMys3Q6?= =?us-ascii?Q?6c7auL6Scx9+ZIN3LGMfyWMUIAT6Yr1oNXJyryWQ7/ozY5E9DhQkgZ8dd1Rb?= =?us-ascii?Q?hvtdsiFuCjzm7JVKCfs2RsPcZgTlgksqyz6Y0kXRYsAFnIdvH1GQpx/0G4q6?= =?us-ascii?Q?bf/sQxqi/wHexjGwHexFpsTX80VwIih1Ndo+o7w2k1/FsVn9nSmDIHxr+pQj?= =?us-ascii?Q?eMvC1UJCuRyMdGaHl0VLys/Hg/V+Afe1rLl1uQFWdGs53xcx5yXS1Ndg7XpB?= =?us-ascii?Q?d1PW03f21197+h4wUAQASRUs+D12gJOMw4Rzu+Kc7ZCfVR4wlsUOib/zzi1s?= =?us-ascii?Q?M20o2llYaJAb8krGvFuycqFJiuuuGIyoee3UfVDuWlyyoBk5n9Le6Y5oBV6o?= =?us-ascii?Q?I0+MYELJH9KggiXsEZGOaUMsnVtCMySaU2bKXzx7+akdutghEawwPu0HFH3+?= =?us-ascii?Q?u6wGp0u08tN8NiWZ/UgUb9IqTXl9N2t2fve2Y/xl5CXNho+/bF4nPfXF7VwP?= =?us-ascii?Q?2sXXOCqs6e72FHwIXZVchPDa6ZiiwMB4Jz5yQk8J/WlETbOLiG7wrr1ZZgeA?= =?us-ascii?Q?N1IiesrJomG5/5/5y+SF4Dlwo7GXDW7WI97oLaaX8oBvbdeCD/XAOImK5pvx?= =?us-ascii?Q?X++LEQdyfONuOEr6q4FslRw5MzBO3QDcamASkYmC4NkHJejKiylSEIeGeXSy?= =?us-ascii?Q?NA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86f6e1fd-4534-4924-0964-08dce208c4d7 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:04:07.1549 (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: 1h2mlbIjp7VMp+DQjGXqKMEBpaxdv5AHU1qm/iEI76jOWPDJvJKONAbH2YvJ1ljLAjffjmmiD6yn6da/YDvTsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9196 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: Jun Yang This patch improves the errata handling for "RTE_LIBRTE_DPAA_ERRATA_LS1043_A010022" Signed-off-by: Jun Yang --- drivers/net/dpaa/dpaa_rxtx.c | 40 ++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index d82c6f3be2..1d7efdef88 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -1258,6 +1258,35 @@ reallocate_mbuf(struct qman_fq *txq, struct rte_mbuf *mbuf) return new_mbufs[0]; } +#ifdef RTE_LIBRTE_DPAA_ERRATA_LS1043_A010022 +/* In case the data offset is not multiple of 16, + * FMAN can stall because of an errata. So reallocate + * the buffer in such case. + */ +static inline int +dpaa_eth_ls1043a_mbuf_realloc(struct rte_mbuf *mbuf) +{ + uint64_t len, offset; + + if (dpaa_svr_family != SVR_LS1043A_FAMILY) + return 0; + + while (mbuf) { + len = mbuf->data_len; + offset = mbuf->data_off; + if ((mbuf->next && + !rte_is_aligned((void *)len, 16)) || + !rte_is_aligned((void *)offset, 16)) { + DPAA_PMD_DEBUG("Errata condition hit"); + + return 1; + } + mbuf = mbuf->next; + } + return 0; +} +#endif + uint16_t dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) { @@ -1296,14 +1325,6 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) DPAA_TX_BURST_SIZE : nb_bufs; for (loop = 0; loop < frames_to_send; loop++) { mbuf = *(bufs++); - /* In case the data offset is not multiple of 16, - * FMAN can stall because of an errata. So reallocate - * the buffer in such case. - */ - if (dpaa_svr_family == SVR_LS1043A_FAMILY && - (mbuf->data_off & 0x7F) != 0x0) - realloc_mbuf = 1; - fd_arr[loop].cmd = 0; if (dpaa_ieee_1588) { fd_arr[loop].cmd |= DPAA_FD_CMD_FCO | @@ -1311,6 +1332,9 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) fd_arr[loop].cmd |= DPAA_FD_CMD_RPD | DPAA_FD_CMD_UPD; } +#ifdef RTE_LIBRTE_DPAA_ERRATA_LS1043_A010022 + realloc_mbuf = dpaa_eth_ls1043a_mbuf_realloc(mbuf); +#endif seqn = *dpaa_seqn(mbuf); if (seqn != DPAA_INVALID_MBUF_SEQN) { index = seqn - 1; -- 2.25.1