From nobody Sun Feb 8 23:41:17 2026 Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (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 349E52BEFFF; Mon, 3 Nov 2025 10:15:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=91.207.212.93 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164951; cv=fail; b=VITtH0BKeqi5b+QvsTOKmdh7NBdZAsOVEnuaASGVkSYzJCN93/v5Wd071TqtTWNRu/3jxUHLnpa5wDe5neTPnOUPZ7LHMH7CQwoESXa3bQDjX+FFIfnD4JogSCYVBsGs92LLzutSrXb8cqADQvcbpqy0fnbZ5RGkcvwehWU/dEQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164951; c=relaxed/simple; bh=J3WxMecJJ4bhWvStrd9xBw7mToG79XNiaSes2E/tCBs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=JSwPVsiGCXyo1MUM8KAX0uKPbxJ1XhXAQIdlP9nWlrYx0vuUaRxPNSqBhGpC85zGuKZiwXsyjctGVc6kioFx9DOCpNLvJ5J6m1dmbJKm/9cNKHJYbP2fLnahy7xWtp7jPPw1mXu1BfJNwTmE+FrB0hFU7g8vU2GCfM+2F/IIrn0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=Mg2h7G21; arc=fail smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="Mg2h7G21" Received: from pps.filterd (m0369457.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A39xBEF3121009; Mon, 3 Nov 2025 11:15:26 +0100 Received: from duzpr83cu001.outbound.protection.outlook.com (mail-northeuropeazon11012055.outbound.protection.outlook.com [52.101.66.55]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a5x1pvs2r-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 03 Nov 2025 11:15:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Vn9Mar/tM5hyahiXHtQlihIiqG+zC2gBF5ual4bzTvkPeG86j4ymkWhQStHO14I7F+w50YA6RoCgWWdfyzueT+vnaiEncqQv+GyXIWAWL8LkK7Bq7pGNBpjAsvOT4tTMZrH5ZJ6PTWAgSMsMpxLCAhIRpR4Z8o4RoKNGilZUxsazTkBUB3eCwQ516jyLZA6nCXY1+VmjKQg6fHyyTauhSkos1eVAF2hqWT9Z+IRf7rVslrAb3CR8d0hcRai2ocVyj5bsjFOi+xPgp4vwbdt2/yHYpwnpAmAqNahIbf4Mgj9VDOKAhYvxHb4ltLbXyl7OIX4FMlNyCYF1h74vvakSZg== 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=YjIU6dtKzQnv8gl6lgFFawjXO+GC4vRpdEIgal8lPfk=; b=kTj/pDropDsEpTwEXpSGoKxYwqsBd7D0amRDayQZgkXxopRug9kS2ECpVLBARwVrsnmh503RO9IA8hHx+4MxJSHw0LvmdSmf4QN+LoLyPPtsoY8Rq+GgVPhNHyCeX8scMvsnxaK4EpEJrb4+ikbzC+Dn38ULtZMuSXb3kPCmF/sG8mgoPTnR6dsRnPJ51pv9d6C+OkCAIwjG7r7ZgXLO23wGiU8NZM0V7Lu0C9NrFAZqert6adsp7QOCI/DIoy74bpDqt2JrH4v+j4f3oGG/7p8HV61Ck5kDqeercB582wnQYyqQnW1kOBmwVyarLLZlQPlTVu5IIyDur1Vg7pgcpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YjIU6dtKzQnv8gl6lgFFawjXO+GC4vRpdEIgal8lPfk=; b=Mg2h7G21inpxgLxBjy8tEFTOMYkcvW3j4Z5gShcltg3WPWzMvZZHBpwvJQhZpFnRkLS5PKEoRZPe+lgqZACKMpuee6m+9tT1a+0UHtqeeGniwIWzKLZhGXi4y5sjWqfNeR0g5q5yDuXxiwBDQmPhV126wB5JRhZj4TBeuPMb6bphF/sKaYKjH/SNWTOeRrOf0vbmzqnMKb8orlKqnfZ3+/Ixqaq6nZfd8L/kCWbbgWEzNTe9UDcety+xcD5zycnJTxSRK0UxShp/fky14SAFilY7/DsWowtyNch3unHFTB9/MjZ8Mn56MGHGrJ9zatiaPNqB6pwDIpkiXiaHMwikjQ== Received: from AM8P191CA0015.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::20) by GV1PR10MB6562.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:82::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16; Mon, 3 Nov 2025 10:15:20 +0000 Received: from AM2PEPF0001C70C.eurprd05.prod.outlook.com (2603:10a6:20b:21a:cafe::dd) by AM8P191CA0015.outlook.office365.com (2603:10a6:20b:21a::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.16 via Frontend Transport; Mon, 3 Nov 2025 10:15:20 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AM2PEPF0001C70C.mail.protection.outlook.com (10.167.16.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Mon, 3 Nov 2025 10:15:19 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:20 +0100 Received: from localhost (10.48.86.127) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:18 +0100 From: Amelie Delaunay Date: Mon, 3 Nov 2025 11:15:10 +0100 Subject: [PATCH 1/4] dmaengine: stm32-dma3: use module_platform_driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251103-dma3_improv-v1-1-57f048bf2877@foss.st.com> References: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> In-Reply-To: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM2PEPF0001C70C:EE_|GV1PR10MB6562:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ce6dfb4-593a-4fb9-c007-08de1ac1e497 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VnpwOGdrVzgvZ3Z0cFRNdHJwTnh6eDdCK25NZzFPT0JCdGxpWU5sL090bW5a?= =?utf-8?B?cVNDVUZ3Tmw2Ri9HeHlPSE41Mm51Nk1xWENld3lGck5KTGxjU05uelZKYXhi?= =?utf-8?B?STg0MTF3RVZad2pkU3Z0R1RHajdTS3FURGMrbkR2V0NpeG1YM2lPVTkveFVp?= =?utf-8?B?OHpibjRibFJhTVJQNHpzeGFjWTY0NWtqVmFJSnNMNWVrRGNyUGwyV25LOEJP?= =?utf-8?B?dDNReVAyQ1Ywak1nSmZrd0QyajZURGxLeENFQW5lQk02WGZabzNuT2VDMTJm?= =?utf-8?B?UGZGWXl0S0RnSGVITTFESkJmWFBBd2xZOFB5ZHRBc2tENUFVdDNHNE9scEdl?= =?utf-8?B?Z3Axa0MwTVZESUQ3VTNjVDlYeHdBOXBjdVYvUnpOS1NDUjF5RVMvQzlhUk8w?= =?utf-8?B?KzQzTmc0KzlCaEVINy9xZEhLQStkeTZhaDE1eGIvQ1BKU3p3ZGdhbitra0Mz?= =?utf-8?B?a0JYaHd1eXBpcHh1T0QyMVNhMTRYd3JHSk1WTXFGa1VuYko4aFJ5d1Q0T1NI?= =?utf-8?B?OUx6V3o0UGpFNHY2enlYS3h4R0RkbkNFTjRKcDBmd0pNSVJvWEhYdUM0N1FJ?= =?utf-8?B?bDJzQzcyemdqV3lvL3FEeEZrUnhwY0hYc0hIWjRDSytqYWtBMVdFOXd2VlNh?= =?utf-8?B?UWtVTDQ4NW5FQk1iSE4yUmVRbWdCS2xidlVMYkswVzVBWHozYXIzcFRhc0xr?= =?utf-8?B?Umt5QXBtcmRiSXlWYmg4OVR5V2RzUTNRbXFlK0IzT0NnK0JtYmVOdWo0MVVB?= =?utf-8?B?OE02SWNzQnIvQXNBRmxlUFo3Vk9aWlpzalFwSDd5RkZsbWloMkZNcVFlakts?= =?utf-8?B?KzBNSC9ObE5FbzZVNUprVUNTeHdVN2RGcXdtWk1uaUZSZk5jVVhob1hNMVFC?= =?utf-8?B?dmRKZk5jOGtvR0hVTnFwTnlLaE8zMGZ1MW8wUGtqZTJWRng3eHFBdUZYSjNu?= =?utf-8?B?ZitXdjVMNVIwV25CTWpNNTFEYUpxbHlHQ0NEaXlCOGMzWnplZXZKZUNYSlJa?= =?utf-8?B?NmMvQjBiaGlpNnpjaDFSOEY0bElvcStPZkVHRWc0MTY5MFcyeDdkWk14elRR?= =?utf-8?B?dUFHTjBsL0VBTTBGeU44dXJGQ3o1NkNNTko2enhLQXpFVGRGTUtGN3hoMVdC?= =?utf-8?B?SUUzY2RhcG4yMjBDVjlEMlhTZ2VERmw5T3g5Z1RLYnpQeWFsT2NqQndveTJS?= =?utf-8?B?ZEw2UDFxMUprbndZdlcvQSt3VnJSZktJT1BnaFVjSk1lN29tblJ3MStJRTMv?= =?utf-8?B?K092Y2ZqQU83bnpiQXRzNzI2Z2FpWVZ1bDJ5QkRHQi9hT20relZzN2pXYnl1?= =?utf-8?B?SFQvc1FDN2JYRVFPV0M3czljQUM4ZTBiUExkRTFKRFg4WFV6WkpRYWdWdUNx?= =?utf-8?B?U1JXQ1c1TG1yTlB5ekdoUEdndklCSHZhWXovQitpbEdhNUVSMjZkSFBVNzR2?= =?utf-8?B?WTdxMlY2emtiUUpYTzJwMU50cjZIcHZUbTdNWkp2ZnlvNGxSZ0YwUW1memhY?= =?utf-8?B?ellicmlqemM0OENrU1lvOEkyemd1U3JKWmVucy9QdjBFL1ZyWlRVMnZ0cDBP?= =?utf-8?B?QThCc3c0bmt4RkRkcGlUZFhkcVhrTW04Mjl4ci9VSFJRaDd2a25odXNOeksr?= =?utf-8?B?aGREdENLUjFVYU9zYXZMVStKekJtQnpId0thbkwrZFUzcGFQQysvNHZhN3ZK?= =?utf-8?B?eG1zeVVKSFk4ODAraFdxNW54aldhVFlLYUUvbTd1Smt0ZldyZGIwUGxLaXpL?= =?utf-8?B?TzNabFpNMmt2OW9OUENjcVJORHdwMmd1ckthNnFWV09iSmlqMjNCVTZVVWFF?= =?utf-8?B?NHdtTExYTGx0SzA0bjdhN0dJWHJUV29tMDVKdENQdkZjcWV1NkZ3QTlHOTFR?= =?utf-8?B?aDkzSXlXcUYwVE5teWJhcytOeDU3TmNzTWh1KzRmenFJOG1FbzFwOWhwRGlZ?= =?utf-8?B?YTRBbU4rcnVJR0hDdkVpUzFKRFJTRnRwdGlKUFZyL0lBYld1TXp1M0JxQnZh?= =?utf-8?B?R0E0ajNuOHRGMmZZdFdOTDN3RmtOY1dTMGR3Z00xLzJuQVl6amhOcExwZzNk?= =?utf-8?B?RjFob1hUMG90em1rRkYvTERuTzhya3g3ZTdQNXFPUWdRMmE5cWQ3Wm1YS0hL?= =?utf-8?Q?Z4Xg=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2025 10:15:19.8513 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7ce6dfb4-593a-4fb9-c007-08de1ac1e497 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AM2PEPF0001C70C.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6562 X-Authority-Analysis: v=2.4 cv=LtqfC3dc c=1 sm=1 tr=0 ts=690880be cx=c_pps a=TR6k4uXGNafvMVVnxx+vUA==:117 a=d6reE3nDawwanmLcZTMRXA==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=iPq3YwKX0LwA:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=B0u0qpW-aHUTvGdyuXcA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTAzMDA5NCBTYWx0ZWRfX2/AnjRehLt74 29PqRzHKEHB/TnDtBWBJrbO85CBLdX4SWdT561yRaxp5Xd4gjC6BOgO7k6IbvDAj/NhRS6n89Pv 0rGcOqoAgjGuI3Rwls0y9LrnYMu4qm/dbLcEt7Y0K39z6o/nnAWE3wbiAGNHDr8bNmeb3KUtrl5 wgzHGBgwnk7iNsKl6pHfz3CfTQ4+Y7Aw9yxVxjomsVs5fD9rgvkW52x7H44VvXc+pnBP/LZ0uw0 YoCf7b6iJBKlfzg7nmSANr5h0qWY+DuI1hjnIQEWhN93HjLZndXbIxXEI8NFcHEuzqnYIvUMAAy ajkTJk2WitKDOlnQhBFqDy3aQsgMf3n/7r7bqacR9rXYEKErJFRbKEfsmx2oaF6DjNZSPUFBh/I nJkwwwFS4jqc6g7sr/+15UUS1ag7Xw== X-Proofpoint-GUID: khRBZcv98cUlVGZ-darwDZZXAlLjlYh3 X-Proofpoint-ORIG-GUID: khRBZcv98cUlVGZ-darwDZZXAlLjlYh3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-03_01,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511030094 Without module_platform_driver(), stm32-dma3 doesn't have a module_exit procedure. Once stm32-dma3 module is inserted, it can't be removed, marked busy. Use module_platform_driver() instead of subsys_initcall() to register (insmod) and unregister (rmmod) stm32-dma3 driver. Signed-off-by: Amelie Delaunay Reviewed-by: Eugen Hristev --- drivers/dma/stm32/stm32-dma3.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 50e7106c5cb7..9500164c8f68 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -1914,12 +1914,7 @@ static struct platform_driver stm32_dma3_driver =3D { }, }; =20 -static int __init stm32_dma3_init(void) -{ - return platform_driver_register(&stm32_dma3_driver); -} - -subsys_initcall(stm32_dma3_init); +module_platform_driver(stm32_dma3_driver); =20 MODULE_DESCRIPTION("STM32 DMA3 controller driver"); MODULE_AUTHOR("Amelie Delaunay "); --=20 2.43.0 From nobody Sun Feb 8 23:41:17 2026 Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (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 4E8381C8606; Mon, 3 Nov 2025 10:15:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=91.207.212.93 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164949; cv=fail; b=SnrTDgZAIYALSqtKsfC4OEzvlyLih1JoIbc0thKmgnNw9V8/Ft2ek0fmBla+wSkSYFvcHM/Kk3oAeKsETEasEeUf6SxXTyVSn2SyFTHht//WeEEKZm5G1HlKCYw78WskNIMP4sbA+c7zm8fU5Y4j1rYbAFcfRYfnqBF5NGYzGUI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164949; c=relaxed/simple; bh=7VQedHRMZ7s+QYQQPJs7skkz/tGAGxHFxNQoWzm8+xE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=pOt0S92izzvQqou4JjJGYXj3OHAsAgM7AWyPF4UPSzLAQcmd4T6Pxwl0VZ4aOYUzyIFXsVh8yAHRl3+q9vaI3MNmAI/rnlAVCOV5NPSTqtSfwYi/pnsywHClCyWIHENTs2pNAafy8OuoV5W2Lfolorzk2VP96pc6gNG0fHoaBNE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=XIB7HiwT; arc=fail smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="XIB7HiwT" Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A3A2I8q2980030; Mon, 3 Nov 2025 11:15:23 +0100 Received: from am0pr83cu005.outbound.protection.outlook.com (mail-westeuropeazon11010002.outbound.protection.outlook.com [52.101.69.2]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a6sy909jf-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 03 Nov 2025 11:15:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r8C1SZgMKkE6QHVQTRm/BTqaVATifEPKRgk83nAo+NoJmH4A00owrNQ2JVaEi3Pa7j/AsJ79uXAlUEf2FP3OnV8HKZLdvsfTfZQWZkz9mGrzmRabhQo7gg/2akiffpdIhTRd1g0ziRGX82gC6FPX/eiwt2Lrh8QznYkT0dOTOZbDca3W6lYjI+zH56VKbtYBPn+Pmk1Ao6weiQC0bnqLtD+UWZJho0Ni+6Gh14qSloJ/cRCnLlnomAHnESmBEIf/pc4u0Gu1R6CcwHfdb/+bAywUF6/Rk/OeVDc8331Ld1WYzLEBbroi52zZPsMakfXcrFEvJv7Fw04KYyS1uiIoNg== 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=0C2QTeR3cQQEoE360avKsictL355g1NCYjLzLxkW0Jk=; b=eTeglhuLkzofYDeitZf7rneljSgPLIh5Dbh6n6wCPFKa0cHH4TuwuBNI+j1mm2goH0a9rK5xNXYiE3bkAi2aqhoMjWsYVHYwSFBCAiIWq7YSDe6ElrP3nwVZnaBr4AKu0gMgwavxpBudIE9y9wyJvRM7Ui/yNX/C3b/s7A1sVHcuXbjqsEs+BQenMT/sGVhr69eBaZAZracLHghRZk46Qs29FjcxcVq7iu6BJmR1LnCG+vqgycxoiBUb7SkQib7509APl4fwPFYbyUzSDP6/GPy3YlOZS4MboAE16K2ebpulDlW5i2d4BHxsxTTXBu34a7I/MyEUN2/skrbRxY+XlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0C2QTeR3cQQEoE360avKsictL355g1NCYjLzLxkW0Jk=; b=XIB7HiwTmftLASHqoaKAEnbLISwWSFN4FzmLILoXcnJ0zkKzv79iJlcf0QWZ0LGAsixpizZQ13elvMCKmjGQ20TX3oUb158hX0fLUayGhaFfZgTmDl7rVCy7iTvd1z3cniRbghnmSl09G5ST/TjmlICWdfMXWROvX3yqePrCAjS8WhNFWW8sygttGLK48Ti0VsoWBeqwHfYdpHK7A8OXE+HpmcXg5h6dyeUOuHooqSl23mJEPqWoCmFL3jNTteceiJQ5N/YAPMwRg4yQ4KtrPDuVEHgONK9GhTtKS8O3HNSSG2MRjcMm5NCLfoYAm2If8x2W0KUPfpAGElykl4guXA== Received: from DUZPR01CA0266.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b9::29) by PAXPR10MB5280.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:277::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16; Mon, 3 Nov 2025 10:15:21 +0000 Received: from DB3PEPF0000885C.eurprd02.prod.outlook.com (2603:10a6:10:4b9:cafe::7c) by DUZPR01CA0266.outlook.office365.com (2603:10a6:10:4b9::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.16 via Frontend Transport; Mon, 3 Nov 2025 10:15:51 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB3PEPF0000885C.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Mon, 3 Nov 2025 10:15:20 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:25 +0100 Received: from localhost (10.48.86.127) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:19 +0100 From: Amelie Delaunay Date: Mon, 3 Nov 2025 11:15:11 +0100 Subject: [PATCH 2/4] dmaengine: stm32-dma3: introduce channel semaphore helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251103-dma3_improv-v1-2-57f048bf2877@foss.st.com> References: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> In-Reply-To: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB3PEPF0000885C:EE_|PAXPR10MB5280:EE_ X-MS-Office365-Filtering-Correlation-Id: 4255fba1-e325-4f6c-af67-08de1ac1e501 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?blhCVVlrRS9ESGN3SHpBMmJGQ0QyS2xPZ25MdkFibWJQb2lBbDZzRjcvWTQ2?= =?utf-8?B?bS9lNFJPZXd1ZG1VOWEwZktlTUFTVTBlaGRnaHpKY2tXS3J6KzkyY1VUaGNI?= =?utf-8?B?ZzJFN0UzVEg5STQ5aE1EcVg2NXN6N0xxWHhYWjZIaThwRUFsWG1pMzBpazd1?= =?utf-8?B?c295WG9Pakc1cmVtRGxabHlGelIvWmtZSG80QXRQVTlnb1A2NWpCR1RLMjJy?= =?utf-8?B?aDVNMUY2RzdSVS81N2JCNjE2ZVFNQXZHVmZ5TDRBZXVaSzkydE9ENG40L0po?= =?utf-8?B?b1lmdXZhUUFTOGhlYWkrWExVdmwyVm5HNHpvVnk1NGJwNy9DVlVIVmpMbVND?= =?utf-8?B?cGlVRGMxUHFOUTVkS1F4SC9PQjRSOENhYzIvY0wyd1pwWE1WTkl4ZzlTMkhp?= =?utf-8?B?bUJydU1YMUtseFdNek9qc1ZpTUNOOC8zNGhJOWMzYVdwSFdQMWd1MlFNdXB0?= =?utf-8?B?a2JQdmN5ZnFwb0gyWmlxVk0zQmViWWlQMi8rMiswNkVBMTVJb1dRa0UrSGRU?= =?utf-8?B?NHdqNnpvZGJhYW5CaUlnRERBK0ZzelBVdHBKb293YWx5bW5xYzdhY21PRldB?= =?utf-8?B?N3VxdHRvTmVONVQxejQzT2hCTmFreTAwWlNpYTBkNGdyV1JRT0hwcksxQzc1?= =?utf-8?B?Z0hXeGViMklldU5hd3dXbFdDNVRFMmhxOUxUbzM3Q3hPSTd2bERMQWNMaU5V?= =?utf-8?B?YXEva1R2dEVPb205aW5PQmFwVGVEaVNDV0ZNKzVoYUQyT3N1V1Juc3ozVHNu?= =?utf-8?B?Vm9Wa0k4K2M4Z2FRWTVuU2lwNTZZZnF6MDh5MGlqTnhMbTZVakhnRUNJQjNy?= =?utf-8?B?dEVpVkZ4SG9mbUFqc0o4cVVsNjF3dENWZDUvUlpwclVaYm4wYXJzT2xSeXZZ?= =?utf-8?B?NGFJaGdTRkh4bGxRUUhBbGw4SGpqWGw0WStWZDR2K0FtNTdiQ0Y2YVNDTHFq?= =?utf-8?B?YmRyWnp5SGdINVNWNkFtRCtHTERtc3VMYjNBeng2Tnd3Qkc5eWNYVlpyaC9k?= =?utf-8?B?SVJ3aFZ4T0dOQ05KVFpBQ0FKVWZKUEtRR0dmTmxnTGsrVGcvU2VkL1RJR3Y2?= =?utf-8?B?UkZhU2MvNVhMdmw3SC93OGZUZ1VxQklaU1d2V3ZBZ1kwUUFhdWgwenlCTDRV?= =?utf-8?B?NkZVdVRJK0haSWhwRGs4SlpvUEJ2cFhBbEJDTmQ0RFdTN0I1cngxWG1hQlNo?= =?utf-8?B?ZmUweG01TjlLTkhVZFFIMWhrWENyek16ZE9pUTZheWljN040U2tJWFQ1U2g3?= =?utf-8?B?d0c0dVZBN0FzK0VSUGRyWEc4ZDJDNFZGSnZhN0tDQTdud1pHNFhnYlZ6SlUz?= =?utf-8?B?RGlGZVFsWXR4WkNtTExyQ2RsVFpVbDA0VVNueTZYMkd1TDRaVlFEN2JpMGpH?= =?utf-8?B?Z3JvN2JBS0hBTkxxcUU3WnFjbzZpL3lRb2dKSDJOTXlycE4xVnNSYm1XWFVL?= =?utf-8?B?aXY4QWNZZXM2eHcxcktySzNGNkVqV2VuRlNoYTJOMlRWQWR1TjF4eW1lamRS?= =?utf-8?B?ejZlZHR4d0ZnS0V0NDNkTE9CbnNsN3FnLy9xb1BoYmx3Y3V2a0FFOHEzUWt1?= =?utf-8?B?SzFuN1FsYXFwRU1FZ0I1MGttM01tTDduOEJuN3ZSYmJWTlFrOVpwM1BnTkJr?= =?utf-8?B?ZS9xNXMyQXVkeWFrOExHU1d1QklsVXhMNDVPTGJpTWJSZzB1TCtnZWNWU3U5?= =?utf-8?B?UGhGaXFCWFN0RnlVMDE1ZStUTVNYeUF0NWVNdU4wTFZTd1JyR3dWVzRDWk1C?= =?utf-8?B?eDR3amh6Ym9zNWRiZm8wbXdvNGNraTFwQlNWN3kyUmVDbWVyOTNxNWVyblcw?= =?utf-8?B?VHVaUUswQ2xKTVlDUTBUOFA3dEs3djI0a2dWeldZT0MwVEw3YWk2VjJlTlkv?= =?utf-8?B?R3Q2blFWZWdvOHErbkhPTmZLNW1Nb1huWnRkR09WajNlSEd2dDFOTWhzaFh0?= =?utf-8?B?UFNKQ3JXZTBuZTh0ZzdaZG9iZDBkaUd2UDNNT2s5cjJPUHRmSVZoWHRPTW1m?= =?utf-8?B?a3ZYTS9Bem8xN0R1TGFSZjQ0NEkyRGR5dGZTMkZVK3NnMUNJRk5jNFZRWHk2?= =?utf-8?B?eHBER3RvbjZIUzhPLzE5U2xRMFRySUU4WDBIbkFYSUdyMHltTlljL0w5YUtY?= =?utf-8?Q?Iaj0=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2025 10:15:20.5128 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4255fba1-e325-4f6c-af67-08de1ac1e501 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB3PEPF0000885C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR10MB5280 X-Proofpoint-ORIG-GUID: cAecl-EnpZZiJv9hNcEnyJgL0C4aBYol X-Authority-Analysis: v=2.4 cv=MZVhep/f c=1 sm=1 tr=0 ts=690880bb cx=c_pps a=PbTrrvy6TquqRfd5lZmsGA==:117 a=uCuRqK4WZKO1kjFMGfU4lQ==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=iPq3YwKX0LwA:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=IQHcLSFj4Mn2yckHXKoA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: cAecl-EnpZZiJv9hNcEnyJgL0C4aBYol X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTAzMDA5NCBTYWx0ZWRfX6pfd+DiGbvhU B339/UKIFMhbsYv8HOr2OZECBrZ0vvok6S1KSQSzOwK8iT4t8PkFzus5ZiEYj1TJyyPjEhUeaXS JkOzQrOVqIUbhSZiT6XOOS+gl3oNwGEYmLzjPd5FzqmLsJGmlHzxyDwcFE57FpX/flQ7/m6Jlxg zayqMmxMmKSy139NROlaYVR10YUThs999i6JPh8zYbMdYDuDazb2I3NYek8FZzgvert+Oc0Sd5P V1A0ugSBpbtrVrA1Qp81PAqRbIngpzEBMutE+DMJbDqrHIEk2rWLOJDmcm2UchzybiBJXhVYiR3 7W2VgveUVeUybs7+2xX3B+pT3A4e6xo+y81aGn6sz4hFNjyvM62Djz/4Bqi/JfpyKNu9TcotNfb TQ/iUzI1X3nPynLLKwjoOu7POlAT4A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-03_01,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 bulkscore=0 priorityscore=1501 phishscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511030094 Before restoring semaphore status after suspend, introduce new functions to handle semaphore operations : - stm32_dma3_get_chan_sem() to take the semaphore - stm32_dma3_put_chan_sem() to release the semaphore Also, use a new boolean variable semaphore_taken, which is true when the semaphore has been taken and false when it has been released. Signed-off-by: Amelie Delaunay --- drivers/dma/stm32/stm32-dma3.c | 55 +++++++++++++++++++++++++++++++++-----= ---- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 9500164c8f68..a1583face7ec 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -288,6 +288,7 @@ struct stm32_dma3_chan { u32 fifo_size; u32 max_burst; bool semaphore_mode; + bool semaphore_taken; struct stm32_dma3_dt_conf dt_config; struct dma_slave_config dma_config; u8 config_set; @@ -1063,11 +1064,50 @@ static irqreturn_t stm32_dma3_chan_irq(int irq, voi= d *devid) return IRQ_HANDLED; } =20 +static int stm32_dma3_get_chan_sem(struct stm32_dma3_chan *chan) +{ + struct stm32_dma3_ddata *ddata =3D to_stm32_dma3_ddata(chan); + u32 csemcr, ccid; + + csemcr =3D readl_relaxed(ddata->base + STM32_DMA3_CSEMCR(chan->id)); + /* Make an attempt to take the channel semaphore if not already taken */ + if (!(csemcr & CSEMCR_SEM_MUTEX)) { + writel_relaxed(CSEMCR_SEM_MUTEX, ddata->base + STM32_DMA3_CSEMCR(chan->i= d)); + csemcr =3D readl_relaxed(ddata->base + STM32_DMA3_CSEMCR(chan->id)); + } + + /* Check if channel is under CID1 control */ + ccid =3D FIELD_GET(CSEMCR_SEM_CCID, csemcr); + if (!(csemcr & CSEMCR_SEM_MUTEX) || ccid !=3D CCIDCFGR_CID1) + goto bad_cid; + + chan->semaphore_taken =3D true; + dev_dbg(chan2dev(chan), "under CID1 control (semcr=3D0x%08x)\n", csemcr); + + return 0; + +bad_cid: + chan->semaphore_taken =3D false; + dev_err(chan2dev(chan), "not under CID1 control (in-use by CID%d)\n", cci= d); + + return -EACCES; +} + +static void stm32_dma3_put_chan_sem(struct stm32_dma3_chan *chan) +{ + struct stm32_dma3_ddata *ddata =3D to_stm32_dma3_ddata(chan); + + if (chan->semaphore_taken) { + writel_relaxed(0, ddata->base + STM32_DMA3_CSEMCR(chan->id)); + chan->semaphore_taken =3D false; + dev_dbg(chan2dev(chan), "no more under CID1 control\n"); + } +} + static int stm32_dma3_alloc_chan_resources(struct dma_chan *c) { struct stm32_dma3_chan *chan =3D to_stm32_dma3_chan(c); struct stm32_dma3_ddata *ddata =3D to_stm32_dma3_ddata(chan); - u32 id =3D chan->id, csemcr, ccid; int ret; =20 ret =3D pm_runtime_resume_and_get(ddata->dma_dev.dev); @@ -1092,16 +1132,9 @@ static int stm32_dma3_alloc_chan_resources(struct dm= a_chan *c) =20 /* Take the channel semaphore */ if (chan->semaphore_mode) { - writel_relaxed(CSEMCR_SEM_MUTEX, ddata->base + STM32_DMA3_CSEMCR(id)); - csemcr =3D readl_relaxed(ddata->base + STM32_DMA3_CSEMCR(id)); - ccid =3D FIELD_GET(CSEMCR_SEM_CCID, csemcr); - /* Check that the channel is well taken */ - if (ccid !=3D CCIDCFGR_CID1) { - dev_err(chan2dev(chan), "Not under CID1 control (in-use by CID%d)\n", c= cid); - ret =3D -EPERM; + ret =3D stm32_dma3_get_chan_sem(chan); + if (ret) goto err_pool_destroy; - } - dev_dbg(chan2dev(chan), "Under CID1 control (semcr=3D0x%08x)\n", csemcr); } =20 return 0; @@ -1135,7 +1168,7 @@ static void stm32_dma3_free_chan_resources(struct dma= _chan *c) =20 /* Release the channel semaphore */ if (chan->semaphore_mode) - writel_relaxed(0, ddata->base + STM32_DMA3_CSEMCR(chan->id)); + stm32_dma3_put_chan_sem(chan); =20 pm_runtime_put_sync(ddata->dma_dev.dev); =20 --=20 2.43.0 From nobody Sun Feb 8 23:41:17 2026 Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (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 4E8B22BE631; Mon, 3 Nov 2025 10:15:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=91.207.212.93 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164949; cv=fail; b=HXQ81ML11ygUEaa5uZFH6jkWCNziCyKHb3yJzyBkcvn48FOSudeSzRmhIE4L/hBkEQpt4n4+wfHbI6ldLb/Vg6LwA2hVqPhZgNZFcp5LvXvzyIHU/vL0JuaOtFTj3FddzbLz63R0bdrH07ioMZ7vrwJ95B8Sq2lWhRr7zbwWFZo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164949; c=relaxed/simple; bh=1+qv1f5DrIcy+BYE2rvZi0qTtFznKDwet9+Ef7xIZ5I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=OELk8UWFzA8IsmwEV81ARTdsJYPGqvHD2RqH47v65L00vnpxvTl24uPUwnmrNP/tx9HR0Iujrd79/JInC1hsQmo6eGOLenz8mNRPig8trTpQtsvOwM201w2Lv23G42kfZc0Z2mqWzbqG8Dxn6JE/U2GOL9+TMuLzuQ8g0CHyK7s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=BSo+tHIM; arc=fail smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="BSo+tHIM" Received: from pps.filterd (m0369457.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A39eEbe3085733; Mon, 3 Nov 2025 11:15:30 +0100 Received: from pa4pr04cu001.outbound.protection.outlook.com (mail-francecentralazon11013045.outbound.protection.outlook.com [40.107.162.45]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a5x1pvs3c-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 03 Nov 2025 11:15:30 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZImz4sssYW7cRMNunm8cYt40u///taYBVhHT0Cn0yab035kRTH7C1SUR760aKI5Lqm328z1rAC8x9BLlssiuzTnDnGzST92UqEFXvrmvY7qqG/Fcj6BUoRplXVberaOwBxUzSnNm5oNIhHqM7Zyei1brQwm0ADbCdMM9FP/jZU1Xx7A8+RcpNjHL6FIcGttVxCsM4aHmAUIhH1/OpCK0vYH2nNGx27Ws/NC9jNAVBNeU6RUeC39SR2KfygSINKKCWTCc4PXG1vMxEfkab9d1QIXf/VFrBes6Xag1Bw31BPJu5ASDrhs++iM7WhmM4lJQjeb7vVYUSFlz8pGS6/J3kg== 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=r5CPpicLB6syX8ieiQaFnM8h5u+i6mxI5fEusx0878k=; b=tHOiZzDfxngRfSArxkN+Q79Tmfn4y7HQ8SBd8852ayoM9oupCh+8pY90CTZMZXHkCdqVs3CDCAaO+zA8xG96rdoN/9AkpJ95cG3YCXjvDg6PLy9T5jp+QocMK7+M5NVlGtAb/T1w5y1v3YTHp/7I6z4WME4LYQtfR4RvgFBsQaDZTCOYQ8H65ad0MOjHIL1MgV3yCMjtIhmQ1tASi5p75R6j6u8Bspof/ya49sG0rgNun3Qfu0OXqFEyqSdkoOd72cp/Ehv0JiddmpGSUPZih5W0PyowQ+IRZ63fBNRJOHzp8abrjbDTPf4xw33kspu+4ey0U5HEx6AkPtxXMJVGBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r5CPpicLB6syX8ieiQaFnM8h5u+i6mxI5fEusx0878k=; b=BSo+tHIMsoAVC4o3+hzOP0HGd8mRfFVsebnOV0vi494Ox8S11a7Oblmdmyp/hSkf3AJ+relEvH0OEoMi3RZn75oQC8npdDP+pSNUwmLyo11F2IP6YXiApvNkJtFDzOpebs5Jw1939qAn+5FPoo4jZWt1N7/gKW92UwyeltjXbYds/ett24FhMPbQs4sMsXJcszoFv1SjTPm+lKQSG+ka7GReT8sxXGTJc3zRMublbz2WChvY9iId0Zixlu3mUQcqaVJR2khBsQXbsErnaGfH8bSOaiWYjNCqnKSOkT58ryEXZYuv/5KTW1T6X9XWXiDK8644PWba91Cc5jj7SQNCQw== Received: from AM4PR07CA0010.eurprd07.prod.outlook.com (2603:10a6:205:1::23) by AS4PR10MB6087.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:582::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16; Mon, 3 Nov 2025 10:15:22 +0000 Received: from AM2PEPF0001C70D.eurprd05.prod.outlook.com (2603:10a6:205:1:cafe::e) by AM4PR07CA0010.outlook.office365.com (2603:10a6:205:1::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9298.7 via Frontend Transport; Mon, 3 Nov 2025 10:15:26 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AM2PEPF0001C70D.mail.protection.outlook.com (10.167.16.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Mon, 3 Nov 2025 10:15:21 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:22 +0100 Received: from localhost (10.48.86.127) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:20 +0100 From: Amelie Delaunay Date: Mon, 3 Nov 2025 11:15:12 +0100 Subject: [PATCH 3/4] dmaengine: stm32-dma3: restore channel semaphore status after suspend Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251103-dma3_improv-v1-3-57f048bf2877@foss.st.com> References: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> In-Reply-To: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM2PEPF0001C70D:EE_|AS4PR10MB6087:EE_ X-MS-Office365-Filtering-Correlation-Id: 87006367-d33f-4391-31c1-08de1ac1e55d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bHBLSVBBbURXMFhLQkV4N3ZOZGRkZ0NCalBmSS83Q1pkL2FocFNEM0NRK1hI?= =?utf-8?B?R1hQQ2h1bkh0L255dlFIQm40ZjZnL1F5amF0UmNaWTc5NG9QQ2RUbk5ZVHUw?= =?utf-8?B?bU5HcWtvV1JLNFg3L0EzTXl6QVIvRmpwekxmMGVxWUhvU21EekpMaDhZcHY5?= =?utf-8?B?eTZEM0MrbFYyUGp5ZFJDclIrc2E0K1hJWjJ0MXFabWJEM2ZZaUsySFUxZysv?= =?utf-8?B?T3hXQXFKTjhUeEl6K0JXUzRpWm96TFp0R0UvTWEzY290aENzNVc0UFJrVUZS?= =?utf-8?B?MUQ5aStWQ0hkNXQxRG45RWtUcThTTmtCdVExa1R1elY5L2JmdkhuZzJFZ1hk?= =?utf-8?B?Q092R2hLb0k3NGwvdGNjRHptVWVvKzV6TVFQeXVyL0l1eUF5YXZtam5CNDV5?= =?utf-8?B?dGNtbFpsRXI1ZnlBcHdMb2oyb05wMys3MGxFQ2hSbXZGNXVZU3p4SWsvYzVC?= =?utf-8?B?bnBoMng4eERyRWt4QlMwTUprQnVQalVUN0VoWGV4YjZISjArT25kKzFtaFZB?= =?utf-8?B?R2xMT0RIeDVOS3NmTnU4UklLUVlpem1OQU5oRWpLR2VrYjVZSnR3UlMyR1FY?= =?utf-8?B?bGxlQWIvdHV3bm02M05raEZwUXZPYVh5c2U5R1pCZHB3WDZJRm1FbXAvVkhp?= =?utf-8?B?cFZWeEJFb01ocjZEOUFKQkV4N1pKSkRpK01jVG1rcmJzam9vSWlIZEE1Nk1H?= =?utf-8?B?VHZIWlo0MUJ3WVlZNzFVZW5mWG5Cbzh1bnRZUllwZTBrNnZqdFdsMnV4Uzg3?= =?utf-8?B?WE1vc3BWbVRzQ2MwRk1BeEdpVlQ2c2FPNm5ZMjIwMUhPVVFTSmpwVmt4cDFZ?= =?utf-8?B?eWNlZmdwNDQzZGJrTWwrL0sxSmtWZm4vVW9yenNPek9Tb1V5NlJ3Zi9CNzYw?= =?utf-8?B?VzR6eVd4NzMyZDhFdzVLenZaZjVBdWUwWG5yc1VIbGhadk9UU1JzOFJwNDhh?= =?utf-8?B?VUZEbDd0SkxBZmN4S0swcWJTUWNqN2tFNEFiYmZLb3Y0bDNLU0krVUlyaUhP?= =?utf-8?B?RnhLSWZQQ0xYUU56WG9RVTZRVTdBQVpjNWxKU3A2dnBvNzR6TzdrellyOHdT?= =?utf-8?B?Q3ZzV0FUYllGaE1tSWkwdEpkMmdIVFg3bU14c2s5Tml1dC9YUUJlUmZhaGk1?= =?utf-8?B?SmpYYkplSWxrdzlEQkt6d2ZkZ3c5RnZVbi9wOGlVdHVLSWp5dlNUSTV5bDVZ?= =?utf-8?B?YnRRK25tY1BsWGRoWlovWGEvU2MxWnNyN1hneEZGQk9tcFBVaEpPMS81UFd1?= =?utf-8?B?d1VhOGdKK0ZCVjV5UkhZakxXN3pNTlFUUWlRaU5UTzhmRWdsMno2Sk1UeWxh?= =?utf-8?B?NUF5TExKSTBrTzJaaVgzaEJIdjBCcUJhTk5aaU02ajd2RElTZW54ZXZRb0ZG?= =?utf-8?B?TjRqTnlZSjVhWEhSek5POUIxbFhNNEI1TnBBNnMvaEtBbklBL2theHR5UzFE?= =?utf-8?B?NXlUZDM1TzU5MVhqVWNCcFRkV2JoMGhxOWZ5NUM4Nkp1SEFMakRrR1ExcC91?= =?utf-8?B?Q003b203b3ozNGM0MEhRWUdpMUFVQ29jMVQ5VFI4WXR3QVhEOE85TEVZRHZF?= =?utf-8?B?VTEzejY3L1BRVUtPSWdGWkp6aTF1aWpmaVhyUHhSYTIwSjFnU0RScGlLV3RD?= =?utf-8?B?US85NVFpNWswdEJvMWNvQ3RLUDhBNUl6U2czNm1RSEN2TVRrYzVBSDRwM28w?= =?utf-8?B?WlFaZkNYZWJ5SHNSR2xPbDhxYWxNMUNzMmZSMk96dVpkK1hESkpUbUE4ckx1?= =?utf-8?B?SlVmci9QNjBrUVE5TEUzUlhKZjQ2TVBkZVhrNVJ6WHc5cXF6eThXM05INXhY?= =?utf-8?B?Ykljajg4L3hNcG9nNFc4NnVMYllQanMva0Q5Mjh4UFRwdkZGalJmc0ZzcXZw?= =?utf-8?B?VHdsY0tqdU1zVCsvNWVNbFliQkt1Yi9OY1NyZ2xJRG9kM0E2eTl5SFBZY1px?= =?utf-8?B?YkxpRTNnc05TLzJ3QlZwRnk2MU5IaTJpUmJoMUdVNUIwRnp5OE5Ddkd1TXBT?= =?utf-8?B?UVNpbS9rTkErWnN1WWI0ODhXb2kyY09KMTlGeGt1eHFodFZZZlZJbGk4RXdZ?= =?utf-8?B?SnlEcEkvNXo3RXR3aUFCZ202QjRhK2tMa1RuVkYyQ2E4T0lpdmZUdklCdFk2?= =?utf-8?Q?wcOM=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2025 10:15:21.1343 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87006367-d33f-4391-31c1-08de1ac1e55d X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AM2PEPF0001C70D.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB6087 X-Authority-Analysis: v=2.4 cv=LtqfC3dc c=1 sm=1 tr=0 ts=690880c2 cx=c_pps a=Yp2iyUs7xOh8+NVfd3nYTg==:117 a=d6reE3nDawwanmLcZTMRXA==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=iPq3YwKX0LwA:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=mCSX4VwkHrH6H5eNLKQA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTAzMDA5NCBTYWx0ZWRfX1v2BPfZkezgP BN7X8Dn0f80V8Mb1PFYVwD2VqYxljHFkHh5dgw5WJclTqNTF1Rmre39Yi/SyfcSITQ2QtMtTRDx mE62wlVniO2aWOTJa7XNrQ3yUqA48km/FC4GSk2n03BYDHTuO9zksuKpHqr0CVbkE69Mufkn+80 /NNY7K5OZmKUkCMgy2Dvlwf32ixsDpdPD6Tdaz768tapVpzpduJ6cFhohRrRiVFipaG2Hg/RjPY aS/BfxOgWjXm5MWd6Xk0a7AqwIf0ZnXaHcJWEYF5qNdsa4YYhKXrpM4M3CHB4DgBqk6YCJVWzcd yhB51ke+jUyQNtx8LPdjIgLqIbZrIoaKIyB4unYlWklJi++eqy1QoLO4vflt6w6eOLx9h+/krH+ oUywtEdxcLBjwd7127e44YxI/9G6Jg== X-Proofpoint-GUID: phyO67ii4d2hnAwsYARtAn7zDE1F3WyP X-Proofpoint-ORIG-GUID: phyO67ii4d2hnAwsYARtAn7zDE1F3WyP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-03_01,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511030094 Depending on the power state reached during suspend, the CxSEMCR register could have been reset, and the semaphore released. On resume, try to take the semaphore again. If the semaphore cannot be taken, an error log displaying the channel number and channel user is generated. This requires introducing two new functions: stm32_dma3_pm_suspend(), where the status of each channel is checked because suspension is not allowed if a channel is still running; stm32_dma3_pm_resume(), where the channel semaphore is restored if it was taken before suspend. Signed-off-by: Amelie Delaunay --- drivers/dma/stm32/stm32-dma3.c | 75 ++++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index a1583face7ec..29ea510fa539 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -1237,6 +1237,10 @@ static struct dma_async_tx_descriptor *stm32_dma3_pr= ep_dma_memcpy(struct dma_cha bool prevent_refactor =3D !!FIELD_GET(STM32_DMA3_DT_NOPACK, chan->dt_conf= ig.tr_conf) || !!FIELD_GET(STM32_DMA3_DT_NOREFACT, chan->dt_config.tr_conf); =20 + /* Semaphore could be lost during suspend/resume */ + if (chan->semaphore_mode && !chan->semaphore_taken) + return NULL; + count =3D stm32_dma3_get_ll_count(chan, len, prevent_refactor); =20 swdesc =3D stm32_dma3_chan_desc_alloc(chan, count); @@ -1297,6 +1301,10 @@ static struct dma_async_tx_descriptor *stm32_dma3_pr= ep_slave_sg(struct dma_chan !!FIELD_GET(STM32_DMA3_DT_NOREFACT, chan->dt_config.tr_conf); int ret; =20 + /* Semaphore could be lost during suspend/resume */ + if (chan->semaphore_mode && !chan->semaphore_taken) + return NULL; + count =3D 0; for_each_sg(sgl, sg, sg_len, i) count +=3D stm32_dma3_get_ll_count(chan, sg_dma_len(sg), prevent_refacto= r); @@ -1383,6 +1391,10 @@ static struct dma_async_tx_descriptor *stm32_dma3_pr= ep_dma_cyclic(struct dma_cha u32 count, i, ctr1, ctr2; int ret; =20 + /* Semaphore could be lost during suspend/resume */ + if (chan->semaphore_mode && !chan->semaphore_taken) + return NULL; + if (!buf_len || !period_len || period_len > STM32_DMA3_MAX_BLOCK_SIZE) { dev_err(chan2dev(chan), "Invalid buffer/period length\n"); return NULL; @@ -1932,8 +1944,69 @@ static int stm32_dma3_runtime_resume(struct device *= dev) return ret; } =20 +static int stm32_dma3_pm_suspend(struct device *dev) +{ + struct stm32_dma3_ddata *ddata =3D dev_get_drvdata(dev); + struct dma_device *dma_dev =3D &ddata->dma_dev; + struct dma_chan *c; + int ccr, ret; + + ret =3D pm_runtime_resume_and_get(dev); + if (ret < 0) + return ret; + + list_for_each_entry(c, &dma_dev->channels, device_node) { + struct stm32_dma3_chan *chan =3D to_stm32_dma3_chan(c); + + ccr =3D readl_relaxed(ddata->base + STM32_DMA3_CCR(chan->id)); + if (ccr & CCR_EN) { + dev_warn(dev, "Suspend is prevented: %s still in use by %s\n", + dma_chan_name(c), dev_name(c->slave)); + pm_runtime_put_sync(dev); + return -EBUSY; + } + } + + pm_runtime_put_sync(dev); + + pm_runtime_force_suspend(dev); + + return 0; +} + +static int stm32_dma3_pm_resume(struct device *dev) +{ + struct stm32_dma3_ddata *ddata =3D dev_get_drvdata(dev); + struct dma_device *dma_dev =3D &ddata->dma_dev; + struct dma_chan *c; + int ret; + + ret =3D pm_runtime_force_resume(dev); + if (ret < 0) + return ret; + + ret =3D pm_runtime_resume_and_get(dev); + if (ret < 0) + return ret; + + /* + * Channel semaphores need to be restored in case of registers reset duri= ng low power. + * stm32_dma3_get_chan_sem() will prior check the semaphore status. + */ + list_for_each_entry(c, &dma_dev->channels, device_node) { + struct stm32_dma3_chan *chan =3D to_stm32_dma3_chan(c); + + if (chan->semaphore_mode && chan->semaphore_taken) + stm32_dma3_get_chan_sem(chan); + } + + pm_runtime_put_sync(dev); + + return 0; +} + static const struct dev_pm_ops stm32_dma3_pm_ops =3D { - SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) + SYSTEM_SLEEP_PM_OPS(stm32_dma3_pm_suspend, stm32_dma3_pm_resume) RUNTIME_PM_OPS(stm32_dma3_runtime_suspend, stm32_dma3_runtime_resume, NUL= L) }; =20 --=20 2.43.0 From nobody Sun Feb 8 23:41:17 2026 Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (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 34974299937; Mon, 3 Nov 2025 10:15:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=91.207.212.93 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164950; cv=fail; b=a2LtAC5xdX2kx4TEJt6LIyDRrVb2qbOX+QtgeaHx7uKzzY+AB+DplNUk+GliLyLJQkH9Le194znkgz1phRUdSlzGBcmht3GIg1f8/2GrTCckqgPyXyQueUqv6H3ZO+GcYRN5bluE1GOygOXG+PJ2wb3nsCAMo4rdLKq0LFgK9ZE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762164950; c=relaxed/simple; bh=JhAblUzK/lEjzUqJrvBqNuXdqBNifyKatkN3QaQ9vK0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=BFYxhpMbTySWBCHpJrhFrCU9tQoc0DhVqUTRdepgt2b82MH2jKOs2sVOKlKJnpdWeEyMiX+hoD/nt4IYyAZOi9tq/sTTgRh9zNa7RrGQkS0DCemoxiSsUowzdFH6SAcHz5jevTE2qRkWLjVwnawqQqzsHGcUG4z8ZPxXuMIVURQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=fA4vzBYQ; arc=fail smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="fA4vzBYQ" Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A3A1cXU2940238; Mon, 3 Nov 2025 11:15:25 +0100 Received: from am0pr83cu005.outbound.protection.outlook.com (mail-westeuropeazon11010057.outbound.protection.outlook.com [52.101.69.57]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a59yh7500-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 03 Nov 2025 11:15:25 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UKixfN6obg/kpJ7hptkWsLzRgUd4eRFKVY2DZFBfmEuwkFPA4ZsUsXcCYbKenDvYuuSKTUfrAzSRLecNPFNnckVcbviHm129nA9z/YGvCXpxlGAb8Huar+YsHPetswWr9cOBsnU4HHojibsfxTfKyHOGITcoE/dCt21OOO5aw/pcSKm5O8F8nqDKBtrgLECdh5T6fwqEQDZAanQC4ZfYnuu/sP6QxrtCSFr5CUuk13khlYmyNCip7wOmqI7KnfrZsm/NoANPinJkFWYrcXdv3AzBGJLnZC2wK/wBCCtunIdXESqgt+yXUdigSvrRGy268lJiGSw3EAb1pSS7TFAuqw== 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=OEMvfbw1YpaH+jlAV7LMPtiMc2am6IELehLiW859ycY=; b=UA3fUwW2I3J98LntQnvb1ECEQOigmu9ANzabH4kUd9oGhfZXnCxIMDQRdalOxDPlMr3xcQQ3UuXV0PKD/nW6PUmOTnaukjlboIcWypXA98dm0X+FjyhfFYIZ7sefSDahgI4wq+as9cj7+GucAVapIIIzEDPgeMJNGmtH89tpJWAR9ILwy+v54zrnzMmIxLkSz4lHymmWVk8qimoec3yOtLppOtANmyMJ1B9SwyIf0jRiliBBiTBm4bPEybn8BYhzbIyncnV4b5K1LG6Y+jE1Lqy+ydglyMUiYIZGiXJ6gQ1fnsIQyx4VMShZoRLQAddsJp0yieez0/6YQEfeo400Yw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OEMvfbw1YpaH+jlAV7LMPtiMc2am6IELehLiW859ycY=; b=fA4vzBYQEn1e9DoCpGV1RC26km2PMRn/3YNm5OethElYun3VAZIbcpy/mfT9bvzkDbwZ+0s/25He5FO3nk8e7aAKFQ2isbgro/20H92+XC37b6YY18vEMB+50TC9M6HOpIpGj7xWArgTMZGtEtEWwBsY0ZWJ1N5SNTkzFp4pBLFTxewp+NlSg6v89QaBB1qzEsFmYmtQv6q5VFJNrTi2btj2H75DQy0UQvNLcc5liEdREVHT5/N1UmEcf4Whc7RDlSX9f5rN1hrATWv4qR5TAiyxsuLEmSQYR2JaD5UI84vGdA+ikSaJmngEipHwBa42mTD6oxgCDo7b1ipD0q+MBQ== Received: from DUZPR01CA0265.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b9::15) by PA4PR10MB5611.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:264::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Mon, 3 Nov 2025 10:15:22 +0000 Received: from DB3PEPF0000885C.eurprd02.prod.outlook.com (2603:10a6:10:4b9:cafe::9e) by DUZPR01CA0265.outlook.office365.com (2603:10a6:10:4b9::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.16 via Frontend Transport; Mon, 3 Nov 2025 10:16:01 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB3PEPF0000885C.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Mon, 3 Nov 2025 10:15:21 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:27 +0100 Received: from localhost (10.48.86.127) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 3 Nov 2025 11:15:21 +0100 From: Amelie Delaunay Date: Mon, 3 Nov 2025 11:15:13 +0100 Subject: [PATCH 4/4] dmaengine: stm32-dma3: introduce ddata2dev helper Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251103-dma3_improv-v1-4-57f048bf2877@foss.st.com> References: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> In-Reply-To: <20251103-dma3_improv-v1-0-57f048bf2877@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB3PEPF0000885C:EE_|PA4PR10MB5611:EE_ X-MS-Office365-Filtering-Correlation-Id: 03411391-eb68-4765-80cd-08de1ac1e5d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dGZCVEN5U1RqSjNiT2N3MjRacW1DYjJvb3VCSXN6M2dQQWJFNGVZY0RBTFhy?= =?utf-8?B?VS90QzJ3WllnTURSSzA0Myt0VnFwSXBib0FBNzh3RDRtcVpxdlA2RG9IQlBC?= =?utf-8?B?dXZ2cURvTThzeld0bWpZamZRY1VPZjEvMUQxNE12K0dnL3BUVUtkMGlMdW55?= =?utf-8?B?WnlJL0w2cnVxYS9nMm5QSG1uTEZsTkU5N2RpRlZOQUlOa2tqTzgvYkxBUjBo?= =?utf-8?B?L2JYRHkxZWtKMFBDeTg0cGhScGMwWUs2elBrZVpKYWJRdmRZU21yMzg4NVFk?= =?utf-8?B?V3BkbEQ4M3hnMU1VR2tiaDFSeG5raDJzb1B6L1VXZXBVQ1VqNUpJNjlnYUZE?= =?utf-8?B?ZGZNdXh1MVp0ZkNLRmFnN1VhaTVUN2VGQ0Job3VKSUVqZlJKcHZnYWh0dC91?= =?utf-8?B?ZUNPSVRVek54NiszQXNwOHFWVXdlQnB3a0RQK0I0ZktnekFPakZHTm4zZ3lW?= =?utf-8?B?elRiS3h4cFRWaXJjWWZPV05naEM4TWZtRWNHOURIUmFTblVVcUc5MVBiZFVH?= =?utf-8?B?NHRmdFRkZkJ1MEYzUGlmOU0rUlNsNjhKUkQyZmRDcWg3RGdFa1NaLzlJemlD?= =?utf-8?B?VUVIS0ttdkZOb1BjVVNDaHpKTmVrV2FPNnlTT0dQYjZsaXY1S1NITUJYMjZV?= =?utf-8?B?RkpUcGdSVnQwdnZJblR0Tk5FblI4enJJRGRvRGVDQUJGYU5US3M5Y1owYzFo?= =?utf-8?B?YWZFeHR5MHZNT0syQjVYMTE0SUhTb2lUYWk1RUFhT0NkYlRXZEZGUGNudlhJ?= =?utf-8?B?cWxmUWgyUnNEdWhnV2g2SGRwN1l6QjZYVDFtMmoyeTFVbTAvU1BYYURpcHRD?= =?utf-8?B?UGJSQ0VUQ0o3ejdOSXA5ZTJZS0ovSEZ3a3ExR2NQQmZSQTMxbkMvQ1R1RHlC?= =?utf-8?B?ME90bEt6VDY4SDF0dEpSSFZtcEhPNFkxWW9RUk95a3NPcUtuWEJkTlM3dktZ?= =?utf-8?B?YmdodTNlMVlVVjlQRlhBRGF1K1lkSzU5ZXo4bENYeXF3a21tQU5oUitFOFNH?= =?utf-8?B?RG5PdmkxNTZubVErWUxNNm9uZmpjaGM0ZVJKbUpESFBUMG9mblRUSVRMM2Fv?= =?utf-8?B?Y1NDZ2QzYjlQSmtWeVYrdHNCc1ZsZVA4Tm9kSFRyVkV1Z0ovWmRjZDM0YkxD?= =?utf-8?B?bGhSeWlJYmR3eGJzRG5XSjJudmt4ZnJXZHFUVjBRaE1YU1A1S01nVG4vQkNh?= =?utf-8?B?VkxSR3hqbFlZUVVXMFJXUlAvNmJmM2FFTk1adjFURVN1NFp4aTNBUWFPVkJz?= =?utf-8?B?ZkFkT0lhcDFiNTYwU2ZLZWdNSkJFZ2w5QVdBd0FuMERRYzVCRE40WjJSTTZO?= =?utf-8?B?eFR0SkhNeExoSTUvRlhUVGllSUZCYTZXZnF2Uk5vZEg4R2NKWktybi91NGwy?= =?utf-8?B?d3l2R0E0azYzYUtFazhoN05pdEdMaTVKUjNCa1pGN08yYWkvVGJBRDR4eDRj?= =?utf-8?B?UllNQWlyRXppbWtXNEJSdGdSSTl3dVVrV2tJZksvR3h3TkhyZVBmbXlSMmJo?= =?utf-8?B?S1YvdDljY05velBjQVlOOWl4VkdBVWJ6TzFJQVdQMERDdjR6QVVKMGF3SEk1?= =?utf-8?B?QlhCTmNDb1hrOUhWYW1ROEVzbUVuR1JWSm56N3FndWRqWFQyaFB5L3dFTGlB?= =?utf-8?B?VWZqRVY1Z1J4REkxWG1PL1pscTQ3VEFkOHB2ZmRwS1IxcnZWSWdRVDNlbFNS?= =?utf-8?B?SkhzTHBwbWtRTENjUnV1OXR1cEEzNkhkalh4Q2t5WjZpdzA4SWk4eEo2ZFA5?= =?utf-8?B?S0QydDlFR3BJQzhMb1ZYaGxwZmpTeG56MW5TcllteTlCU3R0Uk1LeW1zbkFq?= =?utf-8?B?WkdNZkFBZmcyYnFMZHpGVjBiZkVzNXJmUlVXUGlWQnVHbHRHaG9NcnNOV2o5?= =?utf-8?B?YnU1YWJoT05OOFFVd2FqQmtXNFJtRkRqWm5mdVFQU3V3NldqeVp0WVJsYk5E?= =?utf-8?B?WFFaa1YvUDMzVlVYNk12QXNFYTJYT0ttVHNFS2JIaE9iSW0yMk1WMWY3N0I2?= =?utf-8?B?NU5EcTZCejhIMVBlYzRuWTdwSzFGVFhydTNGdGk1SHBZdmdQR0daU0NHelN6?= =?utf-8?B?c3ZseitkSTNrVGNtSmdmWFFMZDlOb01tOVFpY2U2UDdBNzV6NlJsc2hhRkdw?= =?utf-8?Q?Dajo=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2025 10:15:21.8982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 03411391-eb68-4765-80cd-08de1ac1e5d3 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB3PEPF0000885C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB5611 X-Authority-Analysis: v=2.4 cv=Uohu9uwB c=1 sm=1 tr=0 ts=690880bd cx=c_pps a=8eICi0T5piXUlVsTGmI7Kw==:117 a=uCuRqK4WZKO1kjFMGfU4lQ==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=iPq3YwKX0LwA:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=GJ4-7_mLddwLbvePw_MA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: a_QYeUtjh-aHzTa0AZFS-Bsf63avd-6q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTAzMDA5NCBTYWx0ZWRfX5NHqWC3cz0fr BkrAnVpWtLtEZ0gBPM06ZZ6FQBIrQow7QDRbdgcatpltQ5qVeysQCCrMDh7YzaFh2LtSLUeHP+N UqhLmChjEEZ4ZsZVjACDVABXHULYN+RumaP9hQ8md+Rz/yczUHyQn29TXRPFCm+K1wyTdGjpNIK 9cLwlwHppOYiJMy+u7BAej599sIOV7U+ZKCtMqADRVlVHhI4yJFbVwxnpHD05YSGFdITAalYB+U 1Lkz9wOr2Q0Z/SoTtJmSa4gAPI4AkzRaGODC5kH24kCb2KHPBBXbVrk6COIspAlGPacBCY3F+pi aliKUP4KmMPlCiYd907KzltFcg4VARmDrMMTLH4VsTYmwCdFZDPUxGg5EZ/Qu/SZrYyHYmeN8rW 5SA56Gu/0JgZfdM1hPDWF5QrM6zk4g== X-Proofpoint-ORIG-GUID: a_QYeUtjh-aHzTa0AZFS-Bsf63avd-6q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-03_01,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 phishscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511030094 ddata2dev helper returns the device pointer from struct dma_device stored in stm32_dma3_ddata structure. Device pointer from struct dma_device has been initialized with &pdev->dev, so the ddata2dev helper returns &pdev->dev. Signed-off-by: Amelie Delaunay --- drivers/dma/stm32/stm32-dma3.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 29ea510fa539..9f49ef8e2972 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -333,6 +333,11 @@ static struct device *chan2dev(struct stm32_dma3_chan = *chan) return &chan->vchan.chan.dev->device; } =20 +static struct device *ddata2dev(struct stm32_dma3_ddata *ddata) +{ + return ddata->dma_dev.dev; +} + static void stm32_dma3_chan_dump_reg(struct stm32_dma3_chan *chan) { struct stm32_dma3_ddata *ddata =3D to_stm32_dma3_ddata(chan); @@ -392,6 +397,7 @@ static void stm32_dma3_chan_dump_hwdesc(struct stm32_dm= a3_chan *chan, } else { dev_dbg(chan2dev(chan), "X\n"); } + } =20 static struct stm32_dma3_swdesc *stm32_dma3_chan_desc_alloc(struct stm32_d= ma3_chan *chan, u32 count) @@ -1110,7 +1116,7 @@ static int stm32_dma3_alloc_chan_resources(struct dma= _chan *c) struct stm32_dma3_ddata *ddata =3D to_stm32_dma3_ddata(chan); int ret; =20 - ret =3D pm_runtime_resume_and_get(ddata->dma_dev.dev); + ret =3D pm_runtime_resume_and_get(ddata2dev(ddata)); if (ret < 0) return ret; =20 @@ -1144,7 +1150,7 @@ static int stm32_dma3_alloc_chan_resources(struct dma= _chan *c) chan->lli_pool =3D NULL; =20 err_put_sync: - pm_runtime_put_sync(ddata->dma_dev.dev); + pm_runtime_put_sync(ddata2dev(ddata)); =20 return ret; } @@ -1170,7 +1176,7 @@ static void stm32_dma3_free_chan_resources(struct dma= _chan *c) if (chan->semaphore_mode) stm32_dma3_put_chan_sem(chan); =20 - pm_runtime_put_sync(ddata->dma_dev.dev); + pm_runtime_put_sync(ddata2dev(ddata)); =20 /* Reset configuration */ memset(&chan->dt_config, 0, sizeof(chan->dt_config)); @@ -1610,11 +1616,11 @@ static bool stm32_dma3_filter_fn(struct dma_chan *c= , void *fn_param) if (!(mask & BIT(chan->id))) return false; =20 - ret =3D pm_runtime_resume_and_get(ddata->dma_dev.dev); + ret =3D pm_runtime_resume_and_get(ddata2dev(ddata)); if (ret < 0) return false; semcr =3D readl_relaxed(ddata->base + STM32_DMA3_CSEMCR(chan->id)); - pm_runtime_put_sync(ddata->dma_dev.dev); + pm_runtime_put_sync(ddata2dev(ddata)); =20 /* Check if chan is free */ if (semcr & CSEMCR_SEM_MUTEX) @@ -1636,7 +1642,7 @@ static struct dma_chan *stm32_dma3_of_xlate(struct of= _phandle_args *dma_spec, st struct dma_chan *c; =20 if (dma_spec->args_count < 3) { - dev_err(ddata->dma_dev.dev, "Invalid args count\n"); + dev_err(ddata2dev(ddata), "Invalid args count\n"); return NULL; } =20 @@ -1645,14 +1651,14 @@ static struct dma_chan *stm32_dma3_of_xlate(struct = of_phandle_args *dma_spec, st conf.tr_conf =3D dma_spec->args[2]; =20 if (conf.req_line >=3D ddata->dma_requests) { - dev_err(ddata->dma_dev.dev, "Invalid request line\n"); + dev_err(ddata2dev(ddata), "Invalid request line\n"); return NULL; } =20 /* Request dma channel among the generic dma controller list */ c =3D dma_request_channel(mask, stm32_dma3_filter_fn, &conf); if (!c) { - dev_err(ddata->dma_dev.dev, "No suitable channel found\n"); + dev_err(ddata2dev(ddata), "No suitable channel found\n"); return NULL; } =20 @@ -1665,6 +1671,7 @@ static struct dma_chan *stm32_dma3_of_xlate(struct of= _phandle_args *dma_spec, st =20 static u32 stm32_dma3_check_rif(struct stm32_dma3_ddata *ddata) { + struct device *dev =3D ddata2dev(ddata); u32 chan_reserved, mask =3D 0, i, ccidcfgr, invalid_cid =3D 0; =20 /* Reserve Secure channels */ @@ -1676,7 +1683,7 @@ static u32 stm32_dma3_check_rif(struct stm32_dma3_dda= ta *ddata) * In case CID filtering is not configured, dma-channel-mask property can= be used to * specify available DMA channels to the kernel. */ - of_property_read_u32(ddata->dma_dev.dev->of_node, "dma-channel-mask", &ma= sk); + of_property_read_u32(dev->of_node, "dma-channel-mask", &mask); =20 /* Reserve !CID-filtered not in dma-channel-mask, static CID !=3D CID1, C= ID1 not allowed */ for (i =3D 0; i < ddata->dma_channels; i++) { @@ -1696,7 +1703,7 @@ static u32 stm32_dma3_check_rif(struct stm32_dma3_dda= ta *ddata) ddata->chans[i].semaphore_mode =3D true; } } - dev_dbg(ddata->dma_dev.dev, "chan%d: %s mode, %s\n", i, + dev_dbg(dev, "chan%d: %s mode, %s\n", i, !(ccidcfgr & CCIDCFGR_CFEN) ? "!CID-filtered" : ddata->chans[i].semaphore_mode ? "Semaphore" : "Static CID", (chan_reserved & BIT(i)) ? "denied" : @@ -1704,7 +1711,7 @@ static u32 stm32_dma3_check_rif(struct stm32_dma3_dda= ta *ddata) } =20 if (invalid_cid) - dev_warn(ddata->dma_dev.dev, "chan%*pbl have invalid CID configuration\n= ", + dev_warn(dev, "chan%*pbl have invalid CID configuration\n", ddata->dma_channels, &invalid_cid); =20 return chan_reserved; --=20 2.43.0