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 5383B45A68; Mon, 30 Sep 2024 14:18:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0E9DD40DD2; Mon, 30 Sep 2024 14:16:43 +0200 (CEST) Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011060.outbound.protection.outlook.com [52.101.70.60]) by mails.dpdk.org (Postfix) with ESMTP id D0753402BB for ; Mon, 30 Sep 2024 14:16:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XKADn2UXSIsmVi6DX6pHiHDIdkFuXKS/xvFglet3AAxbCHLNEtdPdoHc5hyhpqhWkb8zB/CFz81+GADHwtcyk7CBThu7PBm23Bn0NRNWkjg69KtwGE5ZY7FBfeSZUYpKiADEP5jOvTlmYVLYzBjjXfAV5gRlVvUvk/TihoechFR42gIJ51mL4eefJ1vNZIWya+NGc3ZAMj85ufCDZxUZeYYUa0IpywUmpRn04cvXGxOx/5f+eruJBoT0XAnsZbDoDlf9GiigiC2q2vCyQoPzxD2X26gmSJf8E74A5nIdFUW4eFD4ThOyvkpA4qKxsUCkN1zM9woNp9qQN39PtxHsYA== 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=OVjTi1ltNgPGj5Nc572hPCpRuMH1TtwcE/iP2DweKhKSDqx4Kq8VtdzGDnkAX9vQTQOddeU3jrrbQMtm9QiojX4D1lVbK4LscoBoQR7kLD8uB4LtqVKANG85uwBYVPFlrBUAgUHpinlsPzH5B++gQkjoKOhSzWkilyfRIN2sKS94hae9pijGW7ma6oL7UnbHukGeV3KT71MGBKz+KEj5FigAxa72TFCezruT91QGxE+fKDjBaVi1br0UT5s1e6VlChr4L1bqtEEFJmaRBwDgpqeqU8ZE0EUnWl6X6DTcLMUx2XNFhrg5Ce3z0EWPExWNJIEXKuUjzFsrx0NjymW1mg== 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=YKl+8aVm1/XGxlvk4JSLDQUF1qyct6qVc21MoiO8te5FrFxpn7aWp75mZDZiCa0PKiG/FDKe0WeHBV98dhrWxdtxVwltwjQXCoOJaDMqxxqyEPgV6jO6I6oWJIYv55MIuZkcHBdgzX0ZhDJBRz9mh3NO2jzsKTV1nsYhlSxEMNqc4t6AQ/NKSLWeuUFw2tgIPspDTdo4sLuM8yX/oi6njzLZE76V5ZJXYHOwYJrSEibYEmlE2dy3bzcCZ5eNap2a5pgIm5hGt99sqx4qA0e3GneLG7V7BFByt4ozS31aG/JyEfDfNl5mg11aTTDCw3FsSmIenngX92XHAJLsrVhw9g== 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 GV1PR04MB10583.eurprd04.prod.outlook.com (2603:10a6:150:203::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep 2024 12:16:31 +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; Mon, 30 Sep 2024 12:16:31 +0000 From: Hemant Agrawal To: dev@dpdk.org Cc: ferruh.yigit@amd.com, Jun Yang Subject: [PATCH v4 17/18] net/dpaa: improve dpaa errata A010022 handling Date: Mon, 30 Sep 2024 17:45:24 +0530 Message-Id: <20240930121525.3452847-18-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240930121525.3452847-1-hemant.agrawal@nxp.com> References: <20240823073240.3708320-1-hemant.agrawal@nxp.com> <20240930121525.3452847-1-hemant.agrawal@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR01CA0124.apcprd01.prod.exchangelabs.com (2603:1096:4:40::28) To PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9328:EE_|GV1PR04MB10583:EE_ X-MS-Office365-Filtering-Correlation-Id: 1bb5770a-a786-422a-bc74-08dce149b7eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yoFEPESJi2DAGitnvI6l6cPY3sQ+RszmdxMOFn/6OC6QMk8xoFxier140HKb?= =?us-ascii?Q?FSi+tGc4/xdEvy9zKkj9Q7KyMYvsn5Z8nk+Qe7329c8q/Lsrr5Bq5FXWFcEk?= =?us-ascii?Q?PZm9m5w/C1QPV/9Afs08aAldgyJ1eV7AFpmAPsCj3QhV13mWckePINwJXVlG?= =?us-ascii?Q?FQiLdY7yJFZXwiW6/3tXOTaPVZqAwEXnY9MpKSJ1iEJrPpPm6Gllndil5utj?= =?us-ascii?Q?mHP8i/zuS9e2EDmr/peJ4OrPSvimSropKEJZaPi/eUyhObLoBT5dZPwjzoZU?= =?us-ascii?Q?KRW53JjjTN+PwPMA0IPcGd/zU1qDf+G/tDgdn5ssJi52rQBkMXIWFLmD/BCt?= =?us-ascii?Q?GYLiEII42zgGxf9e6XHXl8kiVMZwBR5JpCrD36DiEI9OIFTGjL0kpvKQcf6S?= =?us-ascii?Q?k3Q5Z9BV6lZmfcBLshATXwHCHJIr4m3c501hpf6Ih8nVa7KYzOUB5kvpjNg5?= =?us-ascii?Q?/gLxfzAbrr8RAdCvnoDH+1GLXU7OORT99jZravLVqCr5yL4W+EGD0fLHUf0o?= =?us-ascii?Q?xjvtlbWOSK2ys8SUjwJ4T7yYf271qm8hs8miuh7B7VILIGC8RoIkqrzg3+/H?= =?us-ascii?Q?q1qEGv6ZVp/uNNR+RPhUobT1duHner8UthFcazau3Z8xyKqxE3ERoeLiBRPE?= =?us-ascii?Q?DDQSKAGr1C3EDylEqzUkIx6JR3ThFrwlwZchmwWLDek4zjKLXzHNZ0eYPJ9c?= =?us-ascii?Q?+iMS1JHV7RKr6KcZ7WCLGlk6dSZO5v4qJ1YYDC7iRUwBAmQiUD/qob7gyjli?= =?us-ascii?Q?q8sYPEJTlYT0kdBzQ31T4Ue2Xw1MNxjmj9aZmaYSBXLkFuxp899tKcnCVrv6?= =?us-ascii?Q?dZjxCDi0Rbo2GZcwzXNBXsGzER6cf/GUcy3GDaAxYK2F29FTsuqNWtzNyxQO?= =?us-ascii?Q?/N+Iya0NushZsccQKfQqf+fvNMHsDT4ZPcjGos8XggTbgCLvHfvAV//CK1I6?= =?us-ascii?Q?nvBK5CkdYtesUCu9aFaXaZ/JXk5amHINUdkaJSU+hXqklNwAyi/8LU/Vsp8Z?= =?us-ascii?Q?J6skz0cg7x5Zw0PIXGKvhXXV4KIxoz3+Mhyet3L+MMVgXnk1V4wDB/rAYZow?= =?us-ascii?Q?SNA2RmyDYR4OrsObrVIoItnKjxzMb7toHuSKhpD2HcLW2WLkD3DXweC4kSPG?= =?us-ascii?Q?jbI+a+/xxSjApajSkSHZrmlb6yH4Dqx73rw29BNqAlYtRNQH4ZgGHW7BFfXV?= =?us-ascii?Q?qosa4I9oxlrb5EsrUzUHlltBaBrT+SiZWW1Qk9GpZFyunq0yVkt746lBDXMJ?= =?us-ascii?Q?9VXz6blU/d121MHY1aOjQWjpyZvv0R3gEc066iHyVeY0v3xsLkHm6so5kUVp?= =?us-ascii?Q?Nh5A1ItgSbmC/SsHGeNhss5aAcPk6It/AMo0Kvcexk+ruw=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)(1800799024)(366016)(52116014)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JOK5EEKhl4Az69YvWMSExb8YuqY/c/fclrtroOLty1QV4Lqihp8XtTxbGDyB?= =?us-ascii?Q?gHVZi5wODGSFU5bcOzDzEpeTZwOq3xHK5c9nJKrHraAYqJg91wJidxes4IRR?= =?us-ascii?Q?LlUsqJPXtW734x6uIVPTE3NhHsPlDYo79OUU032O32rU8xOt//c7CVahIrrQ?= =?us-ascii?Q?26zPdNBhDprHLIBukhyzyvGMf4HzXzEFwqaCdXMzFXh+rrU7X4KqlmjC1OYY?= =?us-ascii?Q?NnG3QU/JukUaVg5qxLYgojKh185L9Yg1ffFuWIbd7Yd1eUXf6BYhVGXuBGxR?= =?us-ascii?Q?efD76MVjqRWlPmsg0/T3nf9OhTOvOG5pAUKQpWjmjcu8fejWtzoRyra0UT2T?= =?us-ascii?Q?2OYRq09V0NFCM4KGqvLs17AMPucf9WI59OzC4Jp9jKHE6smOLg7/SPMlZDRA?= =?us-ascii?Q?kVwiDTdal9mwiCG8JrgjdQmvrqF7AY15MtqetquOyB59TPa+ukarMnY3ATac?= =?us-ascii?Q?Kmvu6U72eiA13T1+Rbb/EwUxgy5FHhy4GrFMhTE3Qaxw3AswLJ/H+yv8z9qT?= =?us-ascii?Q?/Cil3G9Aem9D3G7qyQoKFpLxWcsGsZksIfeUcaWsMav1M8nk9xvgXrA5K/c3?= =?us-ascii?Q?QXM+s5ErD/QGH94Ff5nlIromSvcGOEPf+k6UKkivnnXDHQ9+NsJJaMHK3CTe?= =?us-ascii?Q?evzXKgLkOVGLI2Ni8k4at0a/RSfHKL7FiL9U4jDd73DNING5i0I5lAbZ7DA2?= =?us-ascii?Q?+oz6EfOBgMdkIN2K8JPg8ue9/T1zms5nn7q/nbHiknDnzk0ooKNqb2s81xY3?= =?us-ascii?Q?4rugvKnoYIOjmZo7m+JaByUKzMk2y5uLSjdNq6u+lgjnYKxT+5C58ihpOIAP?= =?us-ascii?Q?QDNHWg5KXrGgkz7EdAY7fi+uORKWrQqtjp5N9R7QboGyb2Mvpf8azT5Rr8lH?= =?us-ascii?Q?JtbOTkRk7uMWTRXis1gGI0SIV56830TN8MdLX6bx6SZWfBHi+bAdw8YTCMHU?= =?us-ascii?Q?9oI+4V+DHnMRWYoLG3e/qKiNp1f+nXyLz8dYS7D9SoNnmR3/L6Bbq4iIHliH?= =?us-ascii?Q?uzzIQLWe8LmGjDhSDNa9yiH1wAd0Ag91ouLtPpvMvUD7q57t83LX+joIK8/J?= =?us-ascii?Q?yeqXOE4z4sEf+Cv5cpn9HVGGiI2FnQ41OCOoRw01a0wzQchgSMHvI67hmLoB?= =?us-ascii?Q?4reCAofE3gwJdfJwKG1cgBD3SS34szC56M/hBx/MrCXD6y8rQ8mLeSqWRc/k?= =?us-ascii?Q?olqgvHGUD6UOxPEqEqrZecu5Nauoj4neM5BeaRoMGhAhpw1A/oxmVigLKYB7?= =?us-ascii?Q?LpMJoO6Npi0SJHx9yW7NEB+sQXU/QxmhX0wN1FqmtBVoulYXrXk3LX5omhrb?= =?us-ascii?Q?lsjfFcAkNTHd4LxgYmkBPAqu6dxpYc7JEQnfiLhqYgLNdh7Fd1HB4RIeLc0X?= =?us-ascii?Q?4LehOYmj1JEQcD8vTSacWhIHa/z1blOIXeGMO4S/oshieVGvmCEVxBdmxx37?= =?us-ascii?Q?SwpxdOlTvsTsj5yUsU/4GfAz2a6hykwIEeuLnmchp0EkEna48PhoiH9W2oAB?= =?us-ascii?Q?Rm+H+SE5X7AHGt4V3IXKhRpsAkavkhi5zoZOGUtvU/9tlWrpXQDd8RizW2ai?= =?us-ascii?Q?n25Bo/a31aslVGgjPAXhufU5nTPjn27zp5OZGvMTcKyd5XqeRpb7TLRLTWOG?= =?us-ascii?Q?mg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1bb5770a-a786-422a-bc74-08dce149b7eb X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9328.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 12:16:31.5630 (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: QpvmqHzux4QSLN5Ue1aGpNP5DplmRWizqO7/2noz1HU4ilo8F5FZNrB5mfDBGzNrVMPrQCv7Pl5gsO71ApjwGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10583 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