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 0AFB4470AE for ; Sun, 21 Dec 2025 16:02:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 04939402EB; Sun, 21 Dec 2025 16:02:05 +0100 (CET) Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012011.outbound.protection.outlook.com [52.101.43.11]) by mails.dpdk.org (Postfix) with ESMTP id E981F402EB for ; Sun, 21 Dec 2025 16:02:03 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pC4/3fdu01W6clErDJ8rhtir5OApSWa07+ACN8CsaKIoRTydS2d8Nyhz3lVo43bom7Szeh04O/M4i1wSrpKdGVq8wUL6pWvt686egAcAF1SfUg3ktk5nw0Eb3rXf2EKztMrP288Q36lgP36i+sEc1aFg3MOMLgf4d+JfKVvP6a02wAD8zwpLhLg5Cxo86vpl4ZEWl5x9jeP9/Ik8gjnFLLTbfjKFApDz09koP0xhD6l7vixDn5FxNqmodzmeuh8R1mTYeI6fa7nfVE+C51xXbdOWKrr9KQJhbNMJjGp/HGoKCZhfqOhR6jmCGMrRSoLJAly7yYjNOVSHoHP90gorjw== 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=R/mxtiqaMYrxpNLDRCuXuFLCILbbLi/jJ8o67Ihtzp0=; b=Ic+U0MtAS+6xE7fQX2G3uX7bmqif006FGphUE1snJpP1MpJyiIIr/GMcgoYUspL/QuLC5OffdQIra3Cwq1hwHi1QD7yuXfKyrCPXeTeFvbJJFm8NYBIXDHtAexkvlXAAyrEeo2HrerEMj404lj4ouSJHJvBj6JobDxcf6MYT7HYFcm25CwO3lxrkgPwRqp0ilx9CJWZY47stenYiDdYyChx12B8ux2HFjaVk5VeMdqhtE4kfZQzqTUdsJLMk7HU5IaEaX+/6YXKZLYAosqR7t6w5RzP4CKYq94a7ENHTqTu5V9jY802qTcA089wAtLHsdalYn9pJhJjUp/xZZKMb/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=marvell.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R/mxtiqaMYrxpNLDRCuXuFLCILbbLi/jJ8o67Ihtzp0=; b=noAsEB0loOgj1Jd8ahqGeAt2Ur9INJZ6uWzGHVV7oZ4BmLU2TXnlhZLAREDe75wfox0k7CWf9356ERKUIMjdDdGT1PZPH25DpBFY8fC1MWICB2nw94XU5xTAH5JdhXhmLTZJGQkJTunsupqY20SQgIlJswkelyJOiCppRgLZXD66svilgeqmlplToBmsNvUtF0MAXyMWDG5hW+8xZCE6U1P7Vfev06dMDaq4XraBXh++bmfkxqtwd3ElrGrE85hAprD5Pf1QGmWYqIKZgrJTb7oUtmeSXyksIJ/KFrq7kncih7sjP35BaP8FIu8iCIb2mKJCpVfAm59Cji35wHljzg== Received: from SJ0PR05CA0001.namprd05.prod.outlook.com (2603:10b6:a03:33b::6) by PH7PR12MB5926.namprd12.prod.outlook.com (2603:10b6:510:1d9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.10; Sun, 21 Dec 2025 15:01:59 +0000 Received: from SJ5PEPF00000204.namprd05.prod.outlook.com (2603:10b6:a03:33b:cafe::a1) by SJ0PR05CA0001.outlook.office365.com (2603:10b6:a03:33b::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9456.7 via Frontend Transport; Sun, 21 Dec 2025 15:01:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Sun, 21 Dec 2025 15:01:59 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Sun, 21 Dec 2025 07:01:42 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Sun, 21 Dec 2025 07:01:42 -0800 Received: from nvidia.com (10.127.8.12) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Sun, 21 Dec 2025 07:01:41 -0800 From: Shani Peretz To: Tomasz Duszynski CC: dpdk stable Subject: patch 'common/cnxk: fix async event handling' has been queued to stable release 23.11.6 Date: Sun, 21 Dec 2025 16:56:32 +0200 Message-ID: <20251221145746.763179-44-shperetz@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251221145746.763179-1-shperetz@nvidia.com> References: <20251221145746.763179-1-shperetz@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|PH7PR12MB5926:EE_ X-MS-Office365-Filtering-Correlation-Id: cf10d8eb-873a-4e95-0559-08de40a1e430 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|36860700013|82310400026|7053199007|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jIVu691lJP93tEWcYh5kBxb5fygh5/CV+fc79qDecwNe+9zxZvnl8UzBzyjZ?= =?us-ascii?Q?h92ncg9Y0SLljO/TaAWyZIFYwrz/sqWkjwdqLY6Pw/kroYiVsqLK2fcPBd4j?= =?us-ascii?Q?NX2aZ4KJzoLrd5aSFb6hvIJlabB2BCyxwqPW+K8gWrem57MlZIpI9ScZWtZW?= =?us-ascii?Q?EXqvDhhToHKoa4syk67IbBDXOvQFgXBtCBLDuG98FDFJX+QQ9aAz5BXRMOJb?= =?us-ascii?Q?0E5WJskLp3u6NA/a5gtmAC53iZEttnjXoZsThlIcXb2OxR9U8tg/vY+Ucjxg?= =?us-ascii?Q?R7iAywa5dEYWYoYuCVd4U7jIcHQfIZ3L7WRWQOq24tux1cyLo88eZR2M7PgN?= =?us-ascii?Q?gZUZCAA8ogipnCmWyfP4DJK96tHv52bkvr1L/mxAOUGTSjQ44NIFn2vrKuPj?= =?us-ascii?Q?KM0fZuuE51NRyQVLA4LE4QBzYqE+4r3pimcnebQfpZpcbCPb4fmkkdgnYRQP?= =?us-ascii?Q?Z7qymxOPzFqnBDIFoio9reUVDtVi2BRv1vqduiDH5CI0jzBd/diWQQ8BrTku?= =?us-ascii?Q?mx6h2dTkX3sDW8w0ZCzP8R4KtxFXIqOAf8sL618qhpSlYDhdyLmgqDre2wgD?= =?us-ascii?Q?fwtBsBvZK3U0UzA2b5FBbT1dr3XFiEqcBTcMNwe0l6OKOBK36oB2gnUjq8xf?= =?us-ascii?Q?RrZxvhPi50W36owQHVkkfkRo2Yii52rBhZceRYk4+GawcrsEglpZPE5sbgEa?= =?us-ascii?Q?Gkp6KyCuvhVhcRlF2vBqqvOUgqOH/7HgmtUiiLRAMG34rkLww+TtGYdLM55f?= =?us-ascii?Q?TKh06EJxTYEQPnHdLJSexVqGSDQbu2DtPSQzsj7T8O7LS5kr5ozdgEtnWAYK?= =?us-ascii?Q?1KpYycNPh71mSKOy7/JM11r7V5ZAiozu5Z1AHkuA6M86JW1nvUsUWR17GJ3g?= =?us-ascii?Q?Nb5Xoh4hL4CYYXCpWrGdTSaZ8E83Ke/5D4IPjGPX/UT2ybHi9x9CIMikegaz?= =?us-ascii?Q?n4GPNbz5fxbQ6D1WfJlymCMf2zOm7xtIJUSo1n6/dgOXYLNm8lgupKAjsd9z?= =?us-ascii?Q?eezGzPw8IBro6ZOIzwR4gfzqyQZzCTxl3WgOH9B+gDwJeznuE4Sec68+XP8f?= =?us-ascii?Q?6gAN0gi1e374FuORqXn14oMG/px96xx0zxDpNVeEaVrZ1ZlWp20Le6n3D8qg?= =?us-ascii?Q?OjTg3WJSwr0qSC/2tpShoead/x4yp1AxyJcKTe4rWJ9xRw7eEuo0n4rzrqsY?= =?us-ascii?Q?BQd1UB4p2y6vpUHW2CGVYm5bosSHFeVYTkV4NgqIXKryYlVgYlLyPDVR5zqz?= =?us-ascii?Q?AF3MHglhyOrEA5hSFdlquwhvoBOBKGcaZy2gWp1plbr/i1x4LWpEss+xaP9P?= =?us-ascii?Q?7CAJQRLvYbadSBgnk14lBpuFE6/KKHOTZgzCcF08UZ00WKd5aiorTLgvZ0yL?= =?us-ascii?Q?DgdkYyAdLucpXbf9uaDPBx/KjdNc7fhbv62eJiDxzjMvOTTjtpylLBOWOx4u?= =?us-ascii?Q?PWY4wFTJEdxFqHpT8mNgLIOfnqFfVjepmKCaQAjE8NHedqBCjwTNMqGZ5xJU?= =?us-ascii?Q?yO3PwuctlhP+HtK2LY270w1Bv2Gca9d+D6Eii3HIoQs8fXGUlulnuZrxlEou?= =?us-ascii?Q?w9C596aBg3c4WtXPfYCQiGbdXVvBgfiicvlpUn7W?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026)(7053199007)(13003099007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2025 15:01:59.4157 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cf10d8eb-873a-4e95-0559-08de40a1e430 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000204.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5926 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 23.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/26/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/shanipr/dpdk-stable This queued commit can be viewed at: https://github.com/shanipr/dpdk-stable/commit/930b906cf0d10baa4e5601cb9aa4adb0503426a8 Thanks. Shani --- >From 930b906cf0d10baa4e5601cb9aa4adb0503426a8 Mon Sep 17 00:00:00 2001 From: Tomasz Duszynski Date: Wed, 30 Jul 2025 04:51:09 +0200 Subject: [PATCH] common/cnxk: fix async event handling [ upstream commit 21b631cd0d3670e375151185d74cd5a03888e2bd ] If async event shows up unexpectedly ack it and continue until expected event is received. Fixes: 857721d62d42 ("common/cnxk: add BPHY communication with atf") Signed-off-by: Tomasz Duszynski --- drivers/common/cnxk/roc_bphy_cgx.c | 52 +++++++++++------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/drivers/common/cnxk/roc_bphy_cgx.c b/drivers/common/cnxk/roc_bphy_cgx.c index 3d674dbe84..befd69430b 100644 --- a/drivers/common/cnxk/roc_bphy_cgx.c +++ b/drivers/common/cnxk/roc_bphy_cgx.c @@ -65,8 +65,7 @@ roc_bphy_cgx_ack(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, } static int -roc_bphy_cgx_wait_for_ownership(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, - uint64_t *scr0) +roc_bphy_cgx_wait_ack(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, uint64_t *scr0, bool ack) { int tries = 5000; uint64_t scr1; @@ -75,16 +74,18 @@ roc_bphy_cgx_wait_for_ownership(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, *scr0 = roc_bphy_cgx_read(roc_cgx, lmac, CGX_CMRX_SCRATCH0); scr1 = roc_bphy_cgx_read(roc_cgx, lmac, CGX_CMRX_SCRATCH1); - if (FIELD_GET(SCR1_OWN_STATUS, scr1) == ETH_OWN_NON_SECURE_SW && - FIELD_GET(SCR0_ETH_EVT_STS_S_ACK, *scr0) == 0) - break; - /* clear async events if any */ - if (FIELD_GET(SCR0_ETH_EVT_STS_S_EVT_TYPE, *scr0) == - ETH_EVT_ASYNC && - FIELD_GET(SCR0_ETH_EVT_STS_S_ACK, *scr0)) + if (FIELD_GET(SCR0_ETH_EVT_STS_S_EVT_TYPE, *scr0) == ETH_EVT_ASYNC && + FIELD_GET(SCR0_ETH_EVT_STS_S_ACK, *scr0)) { roc_bphy_cgx_ack(roc_cgx, lmac, scr0); + goto skip; + } + if (FIELD_GET(SCR1_OWN_STATUS, scr1) == ETH_OWN_NON_SECURE_SW && + FIELD_GET(SCR0_ETH_EVT_STS_S_ACK, *scr0) == ack) + break; + +skip: plt_delay_ms(1); } while (--tries); @@ -92,29 +93,20 @@ roc_bphy_cgx_wait_for_ownership(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, } static int -roc_bphy_cgx_wait_for_ack(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, - uint64_t *scr0) +roc_bphy_cgx_wait_for_ownership(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, uint64_t *scr0) { - int tries = 5000; - uint64_t scr1; - - do { - *scr0 = roc_bphy_cgx_read(roc_cgx, lmac, CGX_CMRX_SCRATCH0); - scr1 = roc_bphy_cgx_read(roc_cgx, lmac, CGX_CMRX_SCRATCH1); - - if (FIELD_GET(SCR1_OWN_STATUS, scr1) == ETH_OWN_NON_SECURE_SW && - FIELD_GET(SCR0_ETH_EVT_STS_S_ACK, *scr0)) - break; - - plt_delay_ms(1); - } while (--tries); + return roc_bphy_cgx_wait_ack(roc_cgx, lmac, scr0, false); +} - return tries ? 0 : -ETIMEDOUT; +static int +roc_bphy_cgx_wait_for_ack(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, uint64_t *scr0) +{ + return roc_bphy_cgx_wait_ack(roc_cgx, lmac, scr0, true); } static int -roc_bphy_cgx_intf_req(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, - uint64_t scr1, uint64_t *scr0) +roc_bphy_cgx_intf_req(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, uint64_t scr1, + uint64_t *scr0) { uint8_t cmd_id = FIELD_GET(SCR1_ETH_CMD_ID, scr1); int ret; @@ -142,12 +134,6 @@ roc_bphy_cgx_intf_req(struct roc_bphy_cgx *roc_cgx, unsigned int lmac, if (cmd_id == ETH_CMD_INTF_SHUTDOWN) goto out; - if (FIELD_GET(SCR0_ETH_EVT_STS_S_EVT_TYPE, *scr0) != ETH_EVT_CMD_RESP) { - plt_err("received async event instead of cmd resp event"); - ret = -EIO; - goto out; - } - if (FIELD_GET(SCR0_ETH_EVT_STS_S_ID, *scr0) != cmd_id) { plt_err("received resp for cmd %d expected for cmd %d", (int)FIELD_GET(SCR0_ETH_EVT_STS_S_ID, *scr0), cmd_id); -- 2.43.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-12-21 16:54:19.547814355 +0200 +++ 0044-common-cnxk-fix-async-event-handling.patch 2025-12-21 16:54:17.066062000 +0200 @@ -1 +1 @@ -From 21b631cd0d3670e375151185d74cd5a03888e2bd Mon Sep 17 00:00:00 2001 +From 930b906cf0d10baa4e5601cb9aa4adb0503426a8 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 21b631cd0d3670e375151185d74cd5a03888e2bd ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index db70bafd9b..1de5195657 100644 +index 3d674dbe84..befd69430b 100644