From nobody Tue Sep 29 09:08:36 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012022.outbound.protection.outlook.com [40.93.195.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F3A43BAD93; Mon, 10 Aug 2026 10:11:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356678; cv=fail; b=QBAmeI6x7+6XyCyhHsWjIKDEtWqv3IghqJEbohICT+yWCb3uoRqUipcWVXK5+iZ4BT0S1u2oztcl00W4/6807z3vZMulM2GuwVeSir5MPfMlfYk8flt4vR/wLM/bdcup89Qe79M/82af9vTWI/RlEVPm40DZaWHWYkPnQAa7YGo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356678; c=relaxed/simple; bh=uSSE1dr12s7hQqFV5q9Gc99krfcVESyXvolKgtK4azI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bU/K/NnlqGkn6QigQ18INv0rbycv6PtHYxGV481X9u83U6EtlDi51GGweGJl4kastvwgrcLAL3+wsDOd6PQxpX/f2jhCBLFAfvU3181OOSYlYqZ513yCMQYn1LBnrjSjYnwYbBkROYJAB7tXrY3LPMQ9OBsA4ewoNusNzs+Oup4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=zTcy/9nh; arc=fail smtp.client-ip=40.93.195.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="zTcy/9nh" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nWUTAdQ4DmDkhgJmPr9yeo0u/rxDDjkoHmWRJhusHw18iqC46QmC6JSKa7YSkfINkI2cACWp15wXfXpDfUdIuP7nbCnpFVqkO+ExoLe1K6SXSLCjxb6MaN3I3Lj4s/HMh9+1zjdCcxS6JoYZNdMegZNbI73r9vLfJWIM2yIueVvLRMV3bC0JZ4pVoBwpMNTfm8kUwvfqnbEJFYL0+1mRSLNFwCimNnwKvftS2MZfN12GtuJ63GDz9VFmpEWVN8Cq8PX4VmcW+DGg5t2fXmrgGsyxq6DUlgdX9gcu5OapLVQHRNKbCkGx+uKpxijKC4pdQDMvtfcikWaDUwr7vcWCxw== 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=hR2mpYa1hEEEJg8T0wJOEfhD4O5ENdkllff1OnoBpCc=; b=JdFgGgEcUvtKEIpew9rAu/yNU6NxWG/4yO5EF8rOvKv5IYjOj6rbg2yaqzAL2qVS5xNfaojqoWuHvJk1og6DY4suBTticP04hPMqHiFRiaSVX68olJ+sgFxTQ1ufEs3ZHntxa3FKm1QG3EcIpzf1KYfR+HVWQ0lbB9B1stmJupZ/rim7D8GAXXdXpm7sDC9pr7Mbqv8gBGyegKgENBL+HELN0zLZzlWLMWq0Z8MEL1aBEuvL5RPZANEBnuI7TEbIRzdqryK3VAL51x4xc0AIxTViKDQlW4PvcnQEKn8R+VROc0uWrCxd84+j8VXDp6XvDvcqQb9UKXEIibLuf59ihQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hR2mpYa1hEEEJg8T0wJOEfhD4O5ENdkllff1OnoBpCc=; b=zTcy/9nhDAN1aqJsyHJE8cjYWj+lEZMWPguB2lrDjxA+Et3qf3+gwhmwWV2+Di1kXmaAZBKtmLaK6u72vGUDvrTK9sUi+Q0LVauzD/4kN4gVoe3ybssdlOuVBA1cHidhLJr1tt0E8YIeDwM/zCqF3dIj+Uq2CUznF3XWblubtgc= Received: from SJ0PR03CA0144.namprd03.prod.outlook.com (2603:10b6:a03:33c::29) by LVXPR12MB999196.namprd12.prod.outlook.com (2603:10b6:408:3dc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 10:11:12 +0000 Received: from SJ1PEPF00001CEB.namprd03.prod.outlook.com (2603:10b6:a03:33c:cafe::61) by SJ0PR03CA0144.outlook.office365.com (2603:10b6:a03:33c::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 10:11:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by SJ1PEPF00001CEB.mail.protection.outlook.com (10.167.242.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:11 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:56 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:00 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:04:57 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 1/6] dmaengine: zynqmp_dma: Fix PM usage count handling in probe error path Date: Mon, 10 Aug 2026 15:34:47 +0530 Message-ID: <20260810100452.426320-2-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CEB:EE_|LVXPR12MB999196:EE_ X-MS-Office365-Filtering-Correlation-Id: a03330cd-236f-4e6a-28f4-08def6c7b428 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|7416014|23010399003|36860700016|22082099003|18002099003|10067099003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: 5ySd0e15CLP2F0shQwAI0E+pbMitKqZ1pJysabMBUHmnfMONdaAmTILVcYGwX5F4+Xo1lZZDbnKTe4Ac6AbDbqc5Y9B2uzL2joZY/PWC7BmolywrTHA4jYlMkJ/V8Nmr/FYpvcMOUNrQofNoL1RfgjOTHz2WUl+GEluPYC9odrFR34zi4NmY7pg262iR7e4iMx9HlAvFn21t15mSarr8M2uDKGbGc2/EU6jgQJCEv8e1+DCFuQUykqA2diNJ4hHS2Vy/mRV/CN5lteySVmRqkruexNVbVuRxUe5px/bqGpx6PVyhwMemiQUXAHwX2oo9KQfcN1ICWaZnXcIeGTVfHFE2ALPjroD8OYg9mcpVl0tzvcAvsoYBPNgg8KiEm9aPSIj3e/KHdHRGlvlA32HYDbsjb7vqrk9/n+/P4guPH6g+b1WgT2qgPtVf3rTspDYqetwppqaWd0DcFGKZPESqVs6VR/0i/AR7VC6VTUcWwSVuYsfLFbycaqNQi54HxA8fT6bynvvcphhiNFae9AUHKUHi1srOMmRmWn2OjWPQnjvTmsmQFCb96+J7v62i8kl0hKlSKzPnWU38F+Y+lArYJDcPBjsZv8p2EJW+yn7TdzIreKci7QPyrxuZOgMaO2U37KtEKWwnXerHd5npxLUN2PmBOxl2JZaD72j0UBxlEvu/NebITjrzEMjjlZR0Yo1wXZ2UQ53dQVETVHbj9RxfDw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(7416014)(23010399003)(36860700016)(22082099003)(18002099003)(10067099003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: B2e+6lhlh5lBtxUGexigJHD1BwyrBjQnxUT2BPNjGTyOHlP+vs3L4dKNGJJNFPhk2bkhizJk9G14s7sRiM3g4BreC+Fs32VN6wVG2wh+t2dFEHR4KBVn2cpH9z69UcwuC+T0uL6uOdrNddGrQoqHPf3RRnif9pDJ/NO9np48SbTiIWehVA6eKdSlrZxaA63cgUv+BCgGVDkDA5eKGC3vK4SlilxkSMfCXdxn/KwQRdOhQEjVYBvNtiQ1FafMA/Dv0HsYjhoQaYO38X4ktmXT+6hnpmrKmnLLYuBBUYdC1ox0/AU8wUr1G5UNloOulx8QSOZ7CnSHONZsfaOj0kHQvZIv0EfspJSfk5or7OZJfuCzipKmTxpfDtBrW+VVgm81fKujgmL6iLgpjSk0nRe9lpbEvjIqz0EI5pyCALF6CyA5v1NjbJZCPWOQZE0/BIWJ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:11.3543 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a03330cd-236f-4e6a-28f4-08def6c7b428 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CEB.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LVXPR12MB999196 Content-Type: text/plain; charset="utf-8" When pm_runtime_resume_and_get() succeeds during probe, it increments the usage count and enables clocks. If a later step (e.g., channel probe) fails, the error path only called pm_runtime_disable() without a matching pm_runtime_put_sync(), leaking the reference and the clock enable. Add an else branch to drop the usage count acquired by pm_runtime_resume_and_get() when runtime PM is still enabled, letting the PM core suspend/disable clocks on the success-then-later-failure path. Fixes: 64c6f7da8c2c ("dmaengine: zynqmp_dma: Add runtime pm support") Signed-off-by: Golla Nagendra --- Changes in V3: - New patch: split from V2 2/3 per Frank Li's review to keep the PM usage count fix separate from the per-channel reset changes --- drivers/dma/xilinx/zynqmp_dma.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dm= a.c index f6a812e49ddc..87986f65d24c 100644 --- a/drivers/dma/xilinx/zynqmp_dma.c +++ b/drivers/dma/xilinx/zynqmp_dma.c @@ -1152,6 +1152,8 @@ static int zynqmp_dma_probe(struct platform_device *p= dev) err_disable_pm: if (!pm_runtime_enabled(zdev->dev)) zynqmp_dma_runtime_suspend(zdev->dev); + else + pm_runtime_put_sync(zdev->dev); pm_runtime_disable(zdev->dev); return ret; } --=20 2.43.7 From nobody Tue Sep 29 09:08:36 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012013.outbound.protection.outlook.com [40.107.200.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 579B53B9D98; Mon, 10 Aug 2026 10:11:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.13 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356675; cv=fail; b=P6Fak9qtKw6MVrgsdY/qQ8hEf9CwtWIjDwYSdh3XmtSmjjZ93Rn+JrI0j8YjpilZx/0ym0RfTWPIsk4pteh9zaImNi/i+i0uE7V5YIjj8m35DgwzVJZSvlsTvKGmmZlHuubGkSUBarh3ied0HK04+CZJ+agE3fOaOnku8mnR5zs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356675; c=relaxed/simple; bh=LhaYzxo6upJgFnuWwD9zlGCCws7CVTrEeUFyuLJhOrk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Dic64WYqDVqsKVX2PzzUxFvva6nU6FAAObcRR8CI5L1uLOhsNiYJg9EYwkZNTWwHXw1Q1gTzjZlcCnFBVuDLGpObuWyhZXb+r9L7VJ2jFl+8Hc5QDYqUJJ56Gi1xTzX+3ypkn0WAUxGBBXzfhjngdjxIt7GGhKRDk/aJqjmvPQQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=syxjkBDv; arc=fail smtp.client-ip=40.107.200.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="syxjkBDv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zOW159x8T1vQN8l7pZVUK5+t3DsPsBsIdsiTe/GeRN+FsKCnrVECZtGCvnFJvnzq2B3jSBkWYU9LppcHCnV/de/GluY9aUHhBDObWEBAvIeDZ85dk4Yr/R+9BlcdndgiUp5eARmDHUEwF6+JE4PPAoV7rs9R94ol/oaxMV2GbF6EWBbfLOn654OdOT/qDxyEXJ3QoSTiVCG9m9rUDzZACO5gmmE0eAP+PQT7DF9JiiIqp1UL7ToTsyFsSOVhI4EclBqkqjUod/CMqxF7Enct/mLWc8wrrLVs2ryS0KKx6MGLIgaWIL26PUHFRvS4FS2Shl+1vli/+D0sN85dVofTNg== 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=kakFxOb27HijGX0N/+KNhJNQIladx5DFKy0ctEYSeQ4=; b=uG9fj+ql1qlGTs08WabqF6oRWxfClQbzoVGLl3aitSkKRaw9TG9oSOidKoRLUix1IZFjUswz6t0IJdM44RX/heNAG/kXxELmWx0MB3orIpDr/UVyiQGxJuCCUDmiGbGMmKGP41V/C0tt08spicJ5/EomDlt6Bn4kigP7wAP+htwNnoZnyJf6pNlp51McaOor0HBz3fxIuQI2DEO4RZy5rU6Eipt/oSRTnc+k9/n903t6mw5E/BQ9nNHEDtex3PSkNGyxSDY1CPSFkvB6mRGNl1DxKZ/rtgGe+9rwg7bMx5Q0zVhTrkyNrkTwGDdWx6KAx7zdtNiav9Mcp7oDsXRlEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kakFxOb27HijGX0N/+KNhJNQIladx5DFKy0ctEYSeQ4=; b=syxjkBDvpkrQd5oPBoUGT6nB5LvWSaBc5Wf/mGEuuV+kkR2b0G9wSvk/h904kP3QnO6zujTralxHph/PUVSvYP1RaVcJOS+h+5dAQ8OS419zL5N9FOg8aEjJTXMoB1GNfKpq+VfoGwyjqUOItjurLBfMSzS0J9PuYOHcxcm3p0c= Received: from CH0P223CA0008.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::19) by MW4PR12MB8611.namprd12.prod.outlook.com (2603:10b6:303:1ed::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Mon, 10 Aug 2026 10:11:04 +0000 Received: from CH2PEPF0000009C.namprd02.prod.outlook.com (2603:10b6:610:116:cafe::66) by CH0P223CA0008.outlook.office365.com (2603:10b6:610:116::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 10:11:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH2PEPF0000009C.mail.protection.outlook.com (10.167.244.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:04 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:57 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:04 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:05:01 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 2/6] PM: runtime: Add pm_runtime_if_active guard and conditional variant Date: Mon, 10 Aug 2026 15:34:48 +0530 Message-ID: <20260810100452.426320-3-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000009C:EE_|MW4PR12MB8611:EE_ X-MS-Office365-Filtering-Correlation-Id: 37aa9c6f-5883-42f0-f3f1-08def6c7afd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|82310400026|36860700016|1800799024|376014|7416014|56012099006|22082099003|10067099003|18002099003|11063799006; X-Microsoft-Antispam-Message-Info: kEjn9Lrqf8AjXWzMJdkTqEbzkWRaEFtoYajyYOp/iT7gC16j0Ddw9DITyvP4Wb0q+s02fmstVKaJf+JgiARJRi2WQcNKEqkSuJkslp/44QrgagBKrzhga4hrpHU6OYJRjRgWv3wM1Y90+HSgDpnfPjeI1sp/xFIbG4axtzC6dXcP0rr6/G/dGOrz9gZdMtNIXr2UzNWOZc/HG35OBQMf1uphZfetjdSUTXDYdcu8WmDnNKmEbbFPnvC+AEQlrYtgrYjoXUSx10OBisbtL7fGKH2FlrzdmU0b0FaydPewGAFqxCzrFygk2QGESflX1+b7DdH7elEt7ZDZkB+6EeBDXcPxmaYNPBFfa59S238oiQ3yF727/nCU1vij7x8tk99yJENakhS0m3F0eKcmxqaivXaQ+35ecMo/hP8ENfwZNJzRUjoi9ifzt1btoMbgFlK4DPwBCiuDLwQRuMrYYZRdYbEPO/viJJpnwcO9bq1Q7Z+4KzY9DeJGBva94jvmD8J5Pv11y60vidCPzc05JrkHENh069VqehY+UvrYgkmy3EfddaIoW4LdIgaGj0+Osf2kdYNr4KK32Ywk5VffOya/wuUSod13nMUxgVpRkJBNi6fndTqvioGG0vjlpb7VItCkHwHreVtp9THHRD53ilCRXcyDex+zy+309cFWsM807whIpWKtQW5LJ00VuXLzi8pHvoE6j7v6Dks2xf+5lPdMag== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(82310400026)(36860700016)(1800799024)(376014)(7416014)(56012099006)(22082099003)(10067099003)(18002099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k4PPUbs+LvPGEVWc8UrOWdeTSl9j213IgeHPUINAayBPr4IhOnO3eypNhrkwexydUEXAM0q91zgNeA29wnLwDpD0lxDh2wIWrnJ/CD2moXhC0OhFySjk5AfKYQWEGmdQhsjiaoFBi9KV8GyK2EUWJ8/mxDAer3s4VImJpuSgzXL23RQKpm9swAq3D+G5LAGinYKvCe3Xs3h4Y6LXIbbyIEvW5tJ9/udsVb2iJAUOVMRUuBmBI7Ulmbxrex5J580ZJBNo3Q4qZNTTOP7Y8rb35curGmoeWMUlU5MDze0HMJDgHk712g61qnJfmAC1dRvqBhj97MlWF1weRDhlsO8x7Xi9V80OOrP3YhndU+fsgZgWJqEQ1/ntme1w8dzgAct0gEcokUptuDFyEd+clwsrrn4YR0YeOzgyL/2im3iWBu0tJficjG+lsnjeVghVFwoP X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:04.2007 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 37aa9c6f-5883-42f0-f3f1-08def6c7afd7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000009C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB8611 Content-Type: text/plain; charset="utf-8" Add a pm_runtime_if_active base guard and its _try conditional variant to pm_runtime.h for drivers that need to conditionally acquire a runtime PM reference only when the device is already active. The base guard must not be used directly via guard()/scoped_guard() because pm_runtime_get_if_active() only acquires a reference when it returns 1; the destructor unconditionally calls pm_runtime_put(), which would underflow usage_count on a suspended or RPM-disabled device. The base guard exists solely to back the DEFINE_GUARD_COND _try variant. The _try variant (used via PM_RUNTIME_ACQUIRE_IF_ACTIVE) checks the return value and only runs the destructor when the reference was actually acquired. This is useful in interrupt handlers where the device may be runtime-suspended and MMIO accesses must be avoided. Signed-off-by: Golla Nagendra --- Changes in V3: - New patch: add PM_RUNTIME_ACQUIRE_IF_ACTIVE() guard and backing infrastructure to pm_runtime.h so that drivers can use a structured guard instead of an open-coded pm_runtime_get_if_active()/pm_runtime_put() pair --- include/linux/pm_runtime.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h index 64921b10ac74..bc6de97e6111 100644 --- a/include/linux/pm_runtime.h +++ b/include/linux/pm_runtime.h @@ -609,6 +609,13 @@ DEFINE_GUARD(pm_runtime_active, struct device *, pm_runtime_get_sync(_T), pm_runtime_put(_T)); DEFINE_GUARD(pm_runtime_active_auto, struct device *, pm_runtime_get_sync(_T), pm_runtime_put_autosuspend(_T)); +/* + * Do not use directly -- the destructor calls pm_runtime_put() + * unconditionally, which underflows if no reference was acquired. + * Use only via the _try variant below. + */ +DEFINE_GUARD(pm_runtime_if_active, struct device *, + pm_runtime_get_if_active(_T), pm_runtime_put(_T)); /* * Use the following guards with ACQUIRE()/ACQUIRE_ERR(). * @@ -624,6 +631,8 @@ DEFINE_GUARD_COND(pm_runtime_active_auto, _try, pm_runtime_get_active(_T, RPM_TRANSPARENT), _RET =3D=3D 0) DEFINE_GUARD_COND(pm_runtime_active_auto, _try_enabled, pm_runtime_resume_and_get(_T), _RET =3D=3D 0) +DEFINE_GUARD_COND(pm_runtime_if_active, _try, + pm_runtime_get_if_active(_T) ?: -EAGAIN, _RET =3D=3D 1) =20 /* ACQUIRE() wrapper macros for the guards defined above. */ =20 @@ -639,6 +648,9 @@ DEFINE_GUARD_COND(pm_runtime_active_auto, _try_enabled, #define PM_RUNTIME_ACQUIRE_IF_ENABLED_AUTOSUSPEND(_dev, _var) \ ACQUIRE(pm_runtime_active_auto_try_enabled, _var)(_dev) =20 +#define PM_RUNTIME_ACQUIRE_IF_ACTIVE(_dev, _var) \ + ACQUIRE(pm_runtime_if_active_try, _var)(_dev) + /* * ACQUIRE_ERR() wrapper macro for guard pm_runtime_active. * --=20 2.43.7 From nobody Tue Sep 29 09:08:36 2026 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012064.outbound.protection.outlook.com [40.107.209.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A94A3BBA0E; Mon, 10 Aug 2026 10:11:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356683; cv=fail; b=pv83DIkqwaAgPI4CjycGPmiKcyVSkpr9sBrgHViiYKF++cjoZiPhJWNlHhHV/GlAkdcUNnRXn/fAvgJ7K16bL2GfjMJ1rQUcc6SrZmh0pUcn+wODag55OefPiE1DhSS1O2fvcQd0RYXFdQk8bkAgFu8sqVMrp8bpd4iA3EQnmPs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356683; c=relaxed/simple; bh=8y8e+RKOSv+7QRf4QHJ5A6BjTb4zIZ0RXgwaix5f+g0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sINRlNp6XIOlSDnbG3+fx7yZyFCD6xrDfcsFvkXjNz7ZZO6++ESOIyfjhV/YqRwWqdcfqQQkX6zUZ/KqlrPfdWHWVcJ4KjlmQTfVklkC+C2d87cDI9COom3g4RSQGMGou7477OZ7M/2p5rr+M6DFDLkGwmL9jDq9DWEIXKAYtsM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=nwscj9f5; arc=fail smtp.client-ip=40.107.209.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="nwscj9f5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X6Aa4VNtXQdJQDMQAe+mJM+4ddiQoeeelQ8CXiI3KJfsDtyIhIgvJEb6KYHSQfI3EFFyio90adcnlsx3msBP3nlNu11sKIpJf9LQfzow1tEXkNMZzjfxhwFC9jhKd6tLm8LzTvEtWMe4vd4AREjO4HrfcgpspLE11rRqCpq3rnhDGrrIVwWBwT2eBg5uwJ9N+79q1JJyWwaj+44V2py3DUpP+reqfDSNHdps127qe1pXI3eSfMebQqAl8+s9Zczxo9g7eC4psNBypw7iHhoicMbzX4w4mGX/3bEUv1H/zxhbIZXsqGgbuHDieBJi51B3VsgTPFw410IAqkq5QLZEbQ== 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=nObDWTrlQ44Z/X696LYJMaP+fL/T8HKfGNVSwMBJTLo=; b=tinNicVWUFcZ4go+cc6Lr+wBAMLHyL7y4UvE+6ipPkV+WR1N4EDscPqTHwNnDSRQtJawSsI6WA3pkDlhFLJUW3ZfX7GhNwXggFTAE6C1lfmSUkmr/e25NEBjdr9/+tyXyrv85qi+h6uNY0f3gwCsYG8Ia157AQsFGGapg8J3YSCpkLmqT3CCbjM3DZ84vHPNm/MvaBIlFv5XWtJfqXjCbNk03S+DMGTEtgzYhznb4HluElEj7SLzEGCl7c0jsOU0L4G3Y3BWDT3/6NXc+nFv5C5Q4g3RcVTD4jCC6YHuD6WTprMl3kvU5NrRPgW+qtWrdpOzj788NEfqkYPzaKy4Og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nObDWTrlQ44Z/X696LYJMaP+fL/T8HKfGNVSwMBJTLo=; b=nwscj9f5Q96Cbvuw6ERxUfli3ywJaXPPa6Xmeyf7jpO9H5mx+Y9lAvLU3lmv6hs1GqtRKEmfH1+VYGd+GiJ15uIL2fXVCj4lRwMcctE94tx7FJc9JJIrvBBp4i3+zl+n142aElQUnI9L9ypx2mDD+d3ID0byDPSMrgnrTutAFNU= Received: from MW4PR03CA0353.namprd03.prod.outlook.com (2603:10b6:303:dc::28) by SA1PR12MB8164.namprd12.prod.outlook.com (2603:10b6:806:338::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 10:11:15 +0000 Received: from SJ1PEPF00001CE8.namprd03.prod.outlook.com (2603:10b6:303:dc:cafe::1c) by MW4PR03CA0353.outlook.office365.com (2603:10b6:303:dc::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 10:11:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by SJ1PEPF00001CE8.mail.protection.outlook.com (10.167.242.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:14 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:58 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:08 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:05:05 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 3/6] dmaengine: zynqmp_dma: Guard IRQ handler against spurious interrupts Date: Mon, 10 Aug 2026 15:34:49 +0530 Message-ID: <20260810100452.426320-4-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE8:EE_|SA1PR12MB8164:EE_ X-MS-Office365-Filtering-Correlation-Id: 699671c9-ff43-446e-a5fd-08def6c7b5e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|7416014|376014|1800799024|82310400026|23010399003|22082099003|18002099003|10067099003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: H9Uq4Htx2Cl/gLTDMHWWEF4wpX5Fr789v+gE/4W1puIFm29lwvbKIakY1lcZzvQmdWq/mHvZoKX4IvwyoJGLfdkCmfhIBculb+G6t6QFaAz00BZwWwNcnIkneBhAZkrR2MNjFYOmok69LsLGG4V0M3+PlQajFPPC4VLxpr3z3xgNp1JZcK0qEbBZaEkJmgipRzz+imKtDH8CXq0HM5CMb/6ocEFPVMppVHTSvt/KdQhE8z7kumTES3t5I52bVjiF8joK64gYyAhWlL9eUDro5DQRT/T9l4RwxkTKtyhqL7cJ/EdatlDQ8suJGjjdHXPm+Mfl7XzQxwLqKSL9JpN/Cl2IOl4nOjojNDlCXvLCxQeXRgVUAnqE4UwVntHXjOfyYX6eN6miRVq2w/SRBZ1Mb9iijUV6GDYQ09SHE07P3kZq+ptPiS8NTTinq2iX9TiPqB2rEIuK1ELXwt8EM68tN4oAzeR89BeSgYgDsEQ4wMlUbfdX1mXSfn0uoBMV4xntM1LPJWWw7PiN2D8TeZ+9R7aBI9gxehboX4p1jAkUZmftuKfPoucX8cywoFpP2YwC6H2OPmkOusp4oeJcCEzXnTqDHs0BJdXKisTQ8LmzFV0ZUasRLq+IGJL3bAfAzZRjbJH0F+U2BckmSR1DjA3h3Frd32Ba8H+PtLEReh69AYhqHJuYmDOmX0hZRgaUK5pBZhOhvEE7gWRLpVCI97xw1A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(7416014)(376014)(1800799024)(82310400026)(23010399003)(22082099003)(18002099003)(10067099003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k8oNTlqKkUmcPc7WnTm+1g1t+JyVcY7AeiXxgRUHFso2FO3v3vrL9NLQAkoUCf7brxbfgOxT9z9JE9OpswOstI+zb3kHwrxoYoikFGB0GJQ/Zomlaem4Lk5NwSYndC9cVDdsEFykcJ1K2f5nbItC6MQ08JKwQ3Q+zkQEZsXL7slHLsvW30LgttDi90s/L1at7Jh+tTAmmZHczCehm0l8hxL0WfVmXQULS+XbwOPNzXbGLTj8AHD1EX+sjPDjkasl3ki4xAlIpjG7an3GIhlh7KHgGhZgyqfJBF7eecTLMpFC2AIZonMd30HYzTrk2BfqnX7k30itwqZwp5SgjOcMlUf/8QD4dkE9nEWV/9K16Gmf42qLKYhkcrYxoIHymvYIZIW+piWCZusWW1J7Au9jdBT5Fs+dK/VuTplhbjxMrP0QGh5h27buIb7WLQoGjkjW X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:14.2678 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 699671c9-ff43-446e-a5fd-08def6c7b5e4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE8.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8164 Content-Type: text/plain; charset="utf-8" Use the PM_RUNTIME_ACQUIRE_IF_ACTIVE() guard in zynqmp_dma_irq_handler() to safely handle spurious interrupts that may arrive while the device is runtime-suspended. The guard acquires a runtime PM reference only if the device is active, returning IRQ_NONE when the device is genuinely runtime-suspended. When runtime PM is disabled for the device (probe fallback path), the handler falls through to normal processing since the hardware is still powered. The reference is released automatically on function exit via the cleanup infrastructure. Fixes: 64c6f7da8c2c ("dmaengine: zynqmp_dma: Add runtime pm support") Signed-off-by: Golla Nagendra --- Changes in V3: - Replace open-coded pm_runtime_get_if_active()/pm_runtime_put() pair with the PM_RUNTIME_ACQUIRE_IF_ACTIVE() guard macro --- drivers/dma/xilinx/zynqmp_dma.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dm= a.c index 87986f65d24c..b03171e37e27 100644 --- a/drivers/dma/xilinx/zynqmp_dma.c +++ b/drivers/dma/xilinx/zynqmp_dma.c @@ -729,6 +729,11 @@ static irqreturn_t zynqmp_dma_irq_handler(int irq, voi= d *data) u32 isr, imr, status; irqreturn_t ret =3D IRQ_NONE; =20 + PM_RUNTIME_ACQUIRE_IF_ACTIVE(chan->dev, pm); + if (IS_ENABLED(CONFIG_PM) && pm_runtime_enabled(chan->dev) && + PM_RUNTIME_ACQUIRE_ERR(&pm)) + return IRQ_NONE; + isr =3D readl(chan->regs + ZYNQMP_DMA_ISR); imr =3D readl(chan->regs + ZYNQMP_DMA_IMR); status =3D isr & ~imr; --=20 2.43.7 From nobody Tue Sep 29 09:08:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010056.outbound.protection.outlook.com [52.101.193.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0859A37BE64; Mon, 10 Aug 2026 10:11:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356671; cv=fail; b=WZDQYDLxnaIo/ccXlLq3iQfbYm/30dL029/9mBZb1HWGQipVHLq64CP+yXq8HFgqlqRe5FuTTqPegVoPJmHQgfM9hUiVqKQvGr2vuPenuVG1P5N7cBhGLIVJxi9ua0uk0f+E07nh6NOCeYUVmzc3Kcg7OinTClJFiKu2YQ6/bWY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356671; c=relaxed/simple; bh=pdyMGQOWVpHiZvYK+sBLHA1yc2RdaBnSGpQUhSfYk/Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=abm2GtphpRNFTT5cjcAauuLikauXl0M68QYgIglo8/wgj7xM6E5mLQD7ZutrZPvIg2zSZcogz7kOzoGq1wfGLBqG06VLXtiOHemb04Hry/ZcnU6UhXRgWT9SPWcCKCEvAurZUEfT8WH0UUBtwyFmGQCHzoF6lK9eCslv0neU67Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=2orqBGsj; arc=fail smtp.client-ip=52.101.193.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="2orqBGsj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YANa15ZCNrsyd51R79k9srcHtZBLhsHq2bkUN1FzsDKrgeNu1jxYFdNUVf4uSTitZYWzhYhHo/rsmdcsi9Hkwer+U6tNT1FJBV03LdjHaZPZC2pKn8jmcltCPWnlAf3JpeERfdAEjsalfmHHobHNuE8itjWeaAT3L3QOhpixC9TpoLfylBtikuPZF1Nx+WzhR/PBBesnHZKs5Hv4ta6bjos2JF8GS2cPl+OxkOMO8judFk7V/nbjzmdwt6CDWRWBfMzLJobIwRSf77Dh6iOoCIGTJJgIHrKxBpfDqD3F8RIH0Kt1kqGAVjcUWXSraqgt0WRLYlhYFDM1zbLCSrp1Iw== 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=qgo++gapbyKAN7efsozfVy6LXp+Nson+cUklixs29fk=; b=TPSxC8B7OvD/cIS3ZS7lygTYtXm1IkWqS+lEiHWfYjsRW5PckvF44Po3dd7K/NN3E/8KFJp6Cg2gEbP6DhVctedHY6FnfkMq0AnVSS61R1w3SqgeA8rInIIWS04wXqFVhNz5i2ylgBPxRUeOdOws7g4Hb27tzaiuxyOAD0d4Z69l/Hh5+pGXzWQfSsLsM/N43bUamQC4Vu0V2FSQk95tBDcMc4vj/wIoRgi8RttQ6IfWPaxF2YZFVRxIbXvMzFt9NQd9jNDgPNGlrlq+M7mTgu1Tv+6UTYEYx5hvJvMkXk7GTH0Cem3Oq46ZU6+/7ipGfJLXE27KWuA0KrnT3DphcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qgo++gapbyKAN7efsozfVy6LXp+Nson+cUklixs29fk=; b=2orqBGsjakeVWf2j8/nwllNjCIyAJ0mjtr0z7cCt5VaLXZqJdy72BWrMpacQJbRPikjYZbUIkI/O/o19uDsa1KbNyBeuVq++PBpwVzJeWB0/N7d41SqoQkhAoXcJ8ylSCi/h3XNBMu/Lj/VJU9XgZvGC3qreEpsYROIsgcpBZIs= Received: from CH0PR13CA0012.namprd13.prod.outlook.com (2603:10b6:610:b1::17) by PH7PR12MB6489.namprd12.prod.outlook.com (2603:10b6:510:1f7::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 10:11:05 +0000 Received: from CH2PEPF0000009F.namprd02.prod.outlook.com (2603:10b6:610:b1:cafe::10) by CH0PR13CA0012.outlook.office365.com (2603:10b6:610:b1::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.11 via Frontend Transport; Mon, 10 Aug 2026 10:11:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH2PEPF0000009F.mail.protection.outlook.com (10.167.244.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:04 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:58 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:12 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:05:09 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 4/6] dt-bindings: dma: xlnx,zynqmp-dma: Add Versal Net compatible support Date: Mon, 10 Aug 2026 15:34:50 +0530 Message-ID: <20260810100452.426320-5-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000009F:EE_|PH7PR12MB6489:EE_ X-MS-Office365-Filtering-Correlation-Id: 502ae4ec-cbda-40ad-b644-08def6c7b04d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|23010399003|82310400026|36860700016|6133799003|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 0dHlVpkfPJ1zOVlH7pX/mIG/erhcU/Ta4a37ycheAj0ZCGkjvPypItRM8r8hmc37RF5538nVX++4JLtsmqefdwByRPE2moRGfp3kAXsEfQ4/JYer1AMCkS/2OMvzRddbhIuWu8FQpPfJlYooYAJHdlLdHh37yLl3ef92pDftly7KqzWwEnsbdnf0fdm4xoh+vQODMao0xgYnk+CwZicTYQvz9CvCV8gUDeo9xC2vUSGn6zkfWPsYG30IgtkLCYmya23Ik1lrtDRqE9JPELnPhC9EU1l9fWJOAeaX24jvni+LyJVCMacC6nUCqpKjhnMer7AM/2LcV6Gi774yQb9/QQhpFHoTsgc/NsiCsQXbjAVUvy1rTcC2nTZ0YodadiwVd6AGH3UfHzQzP3GxeeurPLVlnslJqoXXSxU2CPIEZPclMNWob24yXgcoxFbbyMsdBdwV+NfxS6gvLu04RzLbab7iD5qxImH61sXx8Ai1yJImDEA1uZ4TXp1+dbUNa/cG32W6upLVV2uUuVMoJnrulTDWR95SvijhtU8K3c0YZDydZIQMu5cUUVuJ82VWhEyCi3DddW/6jEq3HWXz3/bH0mIyNwwQ2wReLlLPv+Nsv992WsISPCT0p8hrh0jhugtob/NTylSYLOgRaSj+osdjq/F6/H23n0iVkXHc7YTGe1cKFcQTyJPsdP5VKWZDL3wfiQC0+cvPCvnejxtJgRi7oQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(23010399003)(82310400026)(36860700016)(6133799003)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wMLsOZcRKI0oZC6UgCykitxh2P7EzCtA+MUK/CwfVA82CXcux0atLmlo5i8Y8YpzpwuPLTeFgEOsLL34ENRTaYOmyFwDftwZa3r6InwzngkytUa+rhPf6DRChBdFGUclgoPQWdPO3/M/cGARpE3hXMjJFG955sZN/EJI8BWbf020udUc9rOnRbl+F9xRLTO28ObmgzHjGTaS+17S6zOuL/pMBgcYCtkjf2LyHtfQFUS9TeiObsLUCXaq6JIibAsRXLG+N0oYaNXSfvMGVDgIdnR4j6vUdj7jXjoFFppGtAH1uPnXiWSoiXNRI7C+aRftr2CYxzDMQ2D7aHriMGfSLUBuZCw4IwSu2yTKptv5/XD+miwyY9CiCt7GhQp1y+CXhrssHe42BtvvdOX/BW/NAZapgF0p2ATgWvaTI0H7Z0zePnhmtLJMVXkXhu2rOj6d X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:04.9677 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 502ae4ec-cbda-40ad-b644-08def6c7b04d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000009F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6489 Content-Type: text/plain; charset="utf-8" From: Jay Buddhabhatti Introduce a new compatible string amd,versal-net-dma-1.0 for Versal Net ZDMA.The new compatible requires xlnx,zynqmp-dma-1.0 as a fallback. Add a reset property to describe the per-channel reset line exposed on Versal Gen2 and Versal Net. Mark the resets property as required for both Versal Gen2 and Versal Net, and not applicable for other platforms. Note that making resets required for Versal Gen2 results in an ABI break but this is unavoidable. When DMA is used by two software components back to back (e.g., firmware before Linux boot), DMA functionality fails due to configuration differences or the DMA being left in a bad state by the previous user. The channel can only be cleanly re-configured after a DMA channel reset,making it essential. Signed-off-by: Jay Buddhabhatti Co-developed-by: Golla Nagendra Signed-off-by: Golla Nagendra --- Changes in V3: - Use allOf:if:then: to restrict the resets property per-compatible, making it required for amd,versal2-dma-1.0 and amd,versal-net-dma-1.0 and explicitly setting resets: false for all other platforms - Add amd,versal-net-dma-1.0 compatible string with xlnx,zynqmp-dma-1.0 as fallback - Switch compatible from enum to oneOf to accommodate the new multi-item entry for Versal Net - Add ABI break justification --- .../dma/xilinx/xlnx,zynqmp-dma-1.0.yaml | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1= .0.yaml b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.= yaml index 2da86037ad79..87c65aef5c7d 100644 --- a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml +++ b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml @@ -18,15 +18,31 @@ maintainers: =20 allOf: - $ref: ../dma-controller.yaml# + - if: + properties: + compatible: + contains: + enum: + - amd,versal2-dma-1.0 + - amd,versal-net-dma-1.0 + then: + required: + - resets + else: + properties: + resets: false =20 properties: "#dma-cells": const: 1 =20 compatible: - enum: - - amd,versal2-dma-1.0 - - xlnx,zynqmp-dma-1.0 + oneOf: + - const: amd,versal2-dma-1.0 + - const: xlnx,zynqmp-dma-1.0 + - items: + - const: amd,versal-net-dma-1.0 + - const: xlnx,zynqmp-dma-1.0 =20 reg: description: memory map for gdma/adma module access @@ -59,6 +75,9 @@ properties: power-domains: maxItems: 1 =20 + resets: + maxItems: 1 + dma-coherent: true =20 required: --=20 2.43.7 From nobody Tue Sep 29 09:08:36 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010008.outbound.protection.outlook.com [40.93.198.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C8333B42E3; Mon, 10 Aug 2026 10:11:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356671; cv=fail; b=Fo3rvhwW4r+qamnMDyYSw80MC/i6jGgZNuQzETwAn3V8DrC4MNdkUKJ2fewaXvt5y1vbsO1R9beT1VAwz2jYL0QCR86Zj9KK7j7Qc5FcoXWXdR/tW55Ku/S0jpLeJVlPFcTTWoyezFs/JJE8Uit8gbe6QEiIsUXmOq2gd4+Nt44= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356671; c=relaxed/simple; bh=++5vCM3L0XVwuyZAuwtFmNM8HR5LWP7tV4l8YHHeF38=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZvuQdJDRmgV/ashUykjqtQ3CzwF9BTRF9mtzmZmh2U6OJcQfyjwceCYhj/UHv/JNxiTzXA9oo9v8YFje/CKeiGhl6QlitaoLbezPWVEeQAyTJxeLTcYv+FBY87FvIB/TgIlCusVRoHFuC3pCk/b+4G2Cn9Niv/I4XA93INwHDK0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=b5bAW+lK; arc=fail smtp.client-ip=40.93.198.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="b5bAW+lK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xob2xNUjPJl3bZVpaD6gL0BucoBM7VydbSKX2xo1aBbZRyaUTV/AllrFyVeMEkfVVsUqNIZ8Mr56zvZIpm9pjpIQxStVQEK3AvpLMeaYbCNg84U7HYWDkB6Eh3cV/0NFeZ4REQeLs2JqSWZ7NLNlTh7/rbe4T9p2RAmej9/QqQDhlLU/5JTcGhbZhhY8Oc5z4mc82fMwWwEqYRnEcE2SvkgnINFY4sbLq3dWOkWCvtbDBQVz16RIJS6dLopkOm/lADZiuiXXEXwnTnrI9pSnF8yqsb5Y5Yddw829DWEKAW5gDQ5BRR4MQmrR5QpNSdB32lc+YOwoRkeDkXyVI1I8pg== 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=9Il8a+a/QXWQplt0OgEQaM0OnSHmRfhZtUkpBsOMr70=; b=jjWJU1GY2OM31Y3WKNqzDuwIUGGwlRnpGaqPCyRwvZj12GVxs3JdBlyZnQ3FpyACDDz0/XWLBn6eViuzguAuIVWMDnjE7On3rY0a3kpf1PRV7HPAZ58CdBJRImaIP3LwpLU0WabCIv4hyKnoYn3Q358D51HIyEDBaaT4mz4vYE7etTDuPLLb/kcHU5kt/doGLL9tJ7KsA94XW8tRKw5WG9c6kWDidf3wye0reuYn7spW+pcX/UVE0a5/1jAoLyMasDeh5QEf92GzD49KfUR5qs5IX/TIPZjkYA5PGMDOzFxuzPAYF0+FsrouUD4JOS3UUoTg3jw0DZZYdOey7iDJFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9Il8a+a/QXWQplt0OgEQaM0OnSHmRfhZtUkpBsOMr70=; b=b5bAW+lKoulU6aKtCSJ/UWUyzbXgVqDq4wkCB3sp/b6VBPKvGMR9prIUFu6O42zOFJLZeeWpORr1I8jC7jj1wCL8tvxwnEYtMKRPAvbPeUg5W3gFsbOv86sCWDS9SBuiYCjSf2NH00+Fer4DwKQOn9ngOjF35FmcQAZUupWO3JM= Received: from CH0PR13CA0026.namprd13.prod.outlook.com (2603:10b6:610:b1::31) by DS2PR12MB9616.namprd12.prod.outlook.com (2603:10b6:8:275::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 10:11:05 +0000 Received: from CH2PEPF0000009F.namprd02.prod.outlook.com (2603:10b6:610:b1:cafe::70) by CH0PR13CA0026.outlook.office365.com (2603:10b6:610:b1::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.11 via Frontend Transport; Mon, 10 Aug 2026 10:11:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH2PEPF0000009F.mail.protection.outlook.com (10.167.244.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:05 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:59 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:16 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:05:12 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 5/6] dmaengine: zynqmp_dma: Add new compatible string for Versal Net Date: Mon, 10 Aug 2026 15:34:51 +0530 Message-ID: <20260810100452.426320-6-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000009F:EE_|DS2PR12MB9616:EE_ X-MS-Office365-Filtering-Correlation-Id: 6000b4f1-be88-4066-d47f-08def6c7b0ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|23010399003|82310400026|36860700016|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: teE3TbpwcwfykRMQ1SV3+D3MzXsiM91Ovd/ao4Q3I0s1XdrFl2qK+rCJo9jbeY5Z9Kt/4jWPzPjWvnKfRNrAmz3wZ6eiFOpZ+VTyp7uRF2hBgwP+U69m+C1qMCpRoihYOCCyqzKj++iDH4gtKUiNwaEQAf28M5un8uMX/J0M1IfinrdMbKHcEX8iOFDncMvHzlXb1G05W4heVilc2Ljim4jONfEvmASb0nFvu8IRR7kchWAo8tNdYgBFtqkTKiFrEfNPBJAHys3I+DMP21SGz46Jbwf30YCB4FBZAmDOArPpae7Y+AhIt8QceIrIeT92GdZTOAxpEafV+xEsz2sKXyy0cNnR7vAMdfW2Gj5w/hSXwXHnOm1tBROtEm7EZ7mrQkdmrw4ldMg5lnRHwwRm5w9f2dahO9zajjYyB2I8167n/baVYtUvwWQuo8GLaI1dEdln7p4dr2NLpPb5zXXuUm6NKrCI1+Yq74jOKwTXepz+FmIY3+Dk4NpOMDNOeakb82jJcdDI16DuB+iZQ1RDr9cOVWS5dzi9HXDXhX8Lzz20+lWqrGW9/z66tbdenbTTivFnOIctbaKQLzNxqyrByChH8yOZhtLlm/XxQqOrDFLtDiS/BNWISMxA4jNC0kBJjOXq0SCW8O9Nm84hUGori+L+T+MsVEETk4jr+RoVBLyz0F9xfxgKwjGA7SDkMljwPrJ7/chFZqWiKLFjuAX7/Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(23010399003)(82310400026)(36860700016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9HGHeNR9RUAUq2TYQepJSuQ1panvYISiddWCpfY47yZyiKdi7aXPJTu0+nxX5yWfZXuhJdA/tfCH51d7UprkW/g7xzquWkmG6ZBIKur8RwTKgvmUIy+aQq9xG1H5uKnvqvu5xfkPbKxg3h1bo7hj5AFboPOJtrwePEDlzGI+rNlcqZI/zJopjVN8mkc7ITb+Q5FYaPfroVe0UlIjPtUR/ryGcP4nbHN2+ZOMDSiBE4mZdWmUyilSZuAD2mjm4IOoau7TMi2lceqjnTXDfDZavbF20bP92Dag0gsmFSCgmEMrlwS/Olq5xmpLYXn8N335d8asTCxtIjjK2hA7j/mA5HqwmgiLKbCCl1Ylpec0k4DVj06V0QZNQ2JZURM8M+xys+GUhBCQt6Nwfz7hVyE5JMhopSe5CnAeMs5r7xAiKpeOuFEYqMo4lYwRQTZ95ZiG X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:05.5869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6000b4f1-be88-4066-d47f-08def6c7b0ab X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000009F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9616 Content-Type: text/plain; charset="utf-8" Versal Net previously used the legacy xlnx,zynqmp-dma-1.0 compatible string. Add amd,versal-net-dma-1.0 to the of_device_id match table with SoC-specific match data via versal_net_dma_config. Introduce a has_reset field in zynqmp_dma_config to indicate whether the compatible requires a per-channel reset during probe. Signed-off-by: Golla Nagendra --- Changes in V3: - New patch: add amd,versal-net-dma-1.0 to the driver match table with versal_net_dma_config (has_reset=3Dtrue, offset=3D0)=20 --- drivers/dma/xilinx/zynqmp_dma.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dm= a.c index b03171e37e27..7561416b8e62 100644 --- a/drivers/dma/xilinx/zynqmp_dma.c +++ b/drivers/dma/xilinx/zynqmp_dma.c @@ -259,13 +259,20 @@ struct zynqmp_dma_device { }; =20 struct zynqmp_dma_config { + bool has_reset; u32 offset; }; =20 static const struct zynqmp_dma_config versal2_dma_config =3D { + .has_reset =3D true, .offset =3D IRQ_REG_OFFSET, }; =20 +/* offset =3D 0: Versal Net uses base IRQ register address */ +static const struct zynqmp_dma_config versal_net_dma_config =3D { + .has_reset =3D true, +}; + static inline void zynqmp_dma_writeq(struct zynqmp_dma_chan *chan, u32 reg, u64 value) { @@ -1184,6 +1191,7 @@ static void zynqmp_dma_remove(struct platform_device = *pdev) =20 static const struct of_device_id zynqmp_dma_of_match[] =3D { { .compatible =3D "amd,versal2-dma-1.0", .data =3D &versal2_dma_config }, + { .compatible =3D "amd,versal-net-dma-1.0", .data =3D &versal_net_dma_con= fig }, { .compatible =3D "xlnx,zynqmp-dma-1.0", }, {} }; --=20 2.43.7 From nobody Tue Sep 29 09:08:36 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011038.outbound.protection.outlook.com [52.101.52.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE5653B9610; Mon, 10 Aug 2026 10:11:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.38 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356684; cv=fail; b=TSvIzb2OBI05WZmkk5tvL5V5bkXa9GbfGRQMe/SJ95IBDIcu21zfuH4WGPTBeplth4mBgdLYXiD++can8g0aAj4enhmTIoytetqlZBBkNTCgZGfzQUjRwBgSyraDUUFiuKLlj3ioBbbKDMnXqChVDiKZcOxPGwHweoiqKGdeTBY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786356684; c=relaxed/simple; bh=M5AqN6vPDShzT1jOwE1H+GetpyOEe1xxYFDAMIRhkTo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sVi6Y0Bk7IeCjpPsWqKkLAhEMODslIYSnOBXmrTX7RkKggqxPL0/n66IIkAVxKYXSBYs1cZGYGwqFCWgIWt5xFrWolDuvaNtgaz8Q+GKHRTnSyonlyiEb7DNDW0bynvUA3Rfxca3ZP1lwJfML/OMchrVUVweo4XRkqfQE3frhpA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=kX6Yfjzf; arc=fail smtp.client-ip=52.101.52.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="kX6Yfjzf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MiaioyjV7gbSgUxY040Z+QvNC4iKg+NNN/s8LeYO0c6KHbf6aAeEA6H0q7rhAf9oG7A5RsJBKdowFYQMXGBIf4yQU5QiL9zk7cOexIWVRBQgutqtgJ2misAml153TtI0C+zjg1QD+Kg/lSRci8VoRo3exXEI7wGOOYR3FCPXq3e0SA7/Bgjq0u9JxsNDIxF3S0nPG1aZJLHE41sjp3sggawMV++dasVJj+9fU3uSGbeJ26yO5PCdrtwd9M8cAhIdhgAm0HBkUSeL70RJ7wr9tbtL1SGo2nfGs1eqv53l3KA0oNVMi00sZ24jFHGtFkd+OyQEyUHLN2ydNoEYH1XmXA== 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=ycyF+5IHRcwkuQwpWz7twlFJJBn/LQbm4NZIln42zJo=; b=rPhgE9pR1fH7dnJ8+6HcEZaPBN+aVDHhB4wAeHb0FUbDIWo2XNYcPEWtROjcw8RhEBXktj3M8JtQZtMk1Z+AGcv281fKEP9XYM1C2/gIQxwdssq4tri5OIK0AwJ4UHz7isnNBqaUD+yXwYOZ2OQ0hPISh/8Qzl7Gw2jhu9LghnddN4LBOyrU0qifRqncFDoz+zFbtfgwIvJUf2CaCoDSBI1JJ5N6BfRF3NCQkyYQkrNeJ/6OZKQiaF+1HY27qFDTMTGal8Bj8PVDaNuZ7cQ93w5fRL2JYqBJqSZjrhNh+tul3xm9tdxYFOSCS6w50UjwSQr/SLRdp8z2vQTh1q9aoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ycyF+5IHRcwkuQwpWz7twlFJJBn/LQbm4NZIln42zJo=; b=kX6YfjzfR+/XfVXihi+ZKr2vYkAk8/Jx7uVrL6MKbrw3z+GFFAJB1ADhhNdR7yPRLTX7kNV4xxUwVlQftDd5EtRO+87k9E76FoFJ5kCfCGAD3SHYAgdwuGoXP8O8pW2hAtTeIMabRM2L4EsbRnvg51ToCrDuPOFAouAinBY4QFY= Received: from MW4PR03CA0336.namprd03.prod.outlook.com (2603:10b6:303:dc::11) by MW4PR12MB6753.namprd12.prod.outlook.com (2603:10b6:303:1ec::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 10:11:17 +0000 Received: from SJ1PEPF00001CE8.namprd03.prod.outlook.com (2603:10b6:303:dc:cafe::21) by MW4PR03CA0336.outlook.office365.com (2603:10b6:303:dc::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 10:11:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by SJ1PEPF00001CE8.mail.protection.outlook.com (10.167.242.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 10:11:16 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:10:59 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 05:05:20 -0500 Received: from xhdappanad40.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 05:05:16 -0500 From: Golla Nagendra To: , , , , , , CC: , , , , , , Subject: [PATCH V3 6/6] dmaengine: zynqmp_dma: Add per-channel reset support Date: Mon, 10 Aug 2026 15:34:52 +0530 Message-ID: <20260810100452.426320-7-nagendra.golla@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260810100452.426320-1-nagendra.golla@amd.com> References: <20260810100452.426320-1-nagendra.golla@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE8:EE_|MW4PR12MB6753:EE_ X-MS-Office365-Filtering-Correlation-Id: 88716c31-c584-4f97-22b1-08def6c7b76b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|23010399003|82310400026|36860700016|6133799003|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 7RnBIL4zU9yw/hLsCC+ArRjbwjgiY8dDb4k9lRs4l1nveOtmzwCtDDQPEON2xffdPsr6wrWlFbvOOkSjyU3k3terS4cvy3a4oVt7G5Lly19nDrNdZVzGWIRvTmn/Ay9Bh//K8gxwwzzCmOH7vfFMlz6NT9nKAsUXu6TD66rF2/xON/aEp3YNvCfqQc5Is1y2KoETDOVICRx/B33vibS+8/4MzbeEw/GLVq0xW9nsDe1S9GKD9FIGAMb+lBSueP9ADoJnkKJKzBAvKNMY24MX4qJVsv3Z9LwD0djTH13ASsKQsAvjSrhZardFeDZsVOEoa0iwySXIx0wKzD4l/tZ/a4jgQVHLj/qfFQiTc20oiJbQy6w5hvxpOTtBqZ8m0YNWbQnLbtAyR9D4Cr1TcaZjhi0eWKpDoW1nHG/Fo5cfDCsAUf2Ipl24A6c8kjmsIVPDsDl16zks1SP5XiNbb4jxcHd4QjYC77tlrzGwMS1s4WN1hWFvus9XXGfTXcJSKAIPIxGx0rD2LuJru7rg24+CJNVk+opovdqV0DM+kqL/oXbkA0DjvZ7cj+TM1I618YtjQPSA1FKFEAMlKPWhAaicGdAt5Q46xLVmqYSArgZzFyVi3Tm2lAKLouzvMg+AiAYroatHhsqujFzpGoFiCpP0p8ALj7Pte040QYnHCzgGgbcAbL09foMp7NbdJkOLKBz0TseflPvgqRzuDf3rxIwPKg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(23010399003)(82310400026)(36860700016)(6133799003)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PolPHrNw5Ibvhz6H2+S9JY64fV5zacPSRY2S9iY3wqyIvUPX50o6vSFbPDea5lZCM7d7w5XNcFVMl782dqpznS8aMmxPEgaXW7fI+xyity3+wi4JiU7UyXb3tFmoi14mzNxpjjcy+KD7WOokDp9crrBEEfgGY3cAE9PzGs7lp3Wvp13GKLV+YGQ9O5fLJkDzccKqIfD3j9mwuMZTVnGcxR6qc2tUr1iNuxz8ueyjF+R3R8uxtBPTm5Ci8j2k2/IMzfrs7rqsRuJEW0ORUC8mJTYU9Ibk0ChSbcZGzU+n0G3yna6Sd1v89GpSIQX3OkfK0UXU8oCAq2+3AQH+JMVWHPVuKy8RuutVSgrNJrfFhLiA4+IZHSyP5F61Nx/DuqFgW6jue42EbTHK4/IN/5dTblnOjUJP0CUdW4d0UhVNriebmTxy2bz7nuG7Z/yYd1g0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 10:11:16.7932 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 88716c31-c584-4f97-22b1-08def6c7b76b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE8.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6753 Content-Type: text/plain; charset="utf-8" Versal Gen2 and Versal Net expose a dedicated reset line per ZDMA channel. Use device_reset() to trigger a mandatory reset pulse on the channel during probe when match data indicates reset is supported. The has_reset field in zynqmp_dma_config controls whether reset is performed for a given compatible. For Versal Net and Versal Gen2, has_reset is set to true, so device_reset() is called and probe fails if the resets property is missing in the device tree. For legacy SoCs, match_data is NULL and has_reset defaults to false,so the reset path is skipped entirely. Signed-off-by: Golla Nagendra --- Changes in V3: - Introduce has_reset flag in zynqmp_dma_config to gate the reset path per-compatible instead of calling device_reset() unconditionally - Move the of_device_get_match_data() call before the reset block so has_reset can be checked in the same code path that reads irq_offset --- drivers/dma/xilinx/zynqmp_dma.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dm= a.c index 7561416b8e62..7ec6598ea587 100644 --- a/drivers/dma/xilinx/zynqmp_dma.c +++ b/drivers/dma/xilinx/zynqmp_dma.c @@ -18,6 +18,7 @@ #include #include #include +#include =20 #include "../dmaengine.h" =20 @@ -928,6 +929,14 @@ static int zynqmp_dma_chan_probe(struct zynqmp_dma_dev= ice *zdev, if (IS_ERR(chan->regs)) return PTR_ERR(chan->regs); =20 + match_data =3D of_device_get_match_data(&pdev->dev); + if (match_data && match_data->has_reset) { + err =3D device_reset(&pdev->dev); + if (err) + return dev_err_probe(&pdev->dev, err, + "failed to reset channel\n"); + } + chan->bus_width =3D ZYNQMP_DMA_BUS_WIDTH_64; chan->dst_burst_len =3D ZYNQMP_DMA_MAX_DST_BURST_LEN; chan->src_burst_len =3D ZYNQMP_DMA_MAX_SRC_BURST_LEN; @@ -943,7 +952,6 @@ static int zynqmp_dma_chan_probe(struct zynqmp_dma_devi= ce *zdev, return -EINVAL; } =20 - match_data =3D of_device_get_match_data(&pdev->dev); if (match_data) chan->irq_offset =3D match_data->offset; =20 --=20 2.43.7