From nobody Tue Dec 2 01:31:48 2025 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 3AA82350A23; Fri, 21 Nov 2025 13:37:22 +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=1763732244; cv=fail; b=CwO4YqwMxwGqpQEKXfZk7EXOhNyzQeLCTig/Ec3C3TSTenNIrhyVKnHcMpPLxE6LErQt9QVOWPrmuL32JIH4fvaMzioh4DNj6QPSELuH8MZhKxcGhTlISlcBuSzZsaiEOKjL7rCrDxJLJY5TraM/vSJ96ZRwL03fmGDiEIJzhdQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732244; c=relaxed/simple; bh=wFYf8/N9nd4awyz4VibJijF2nPUw7ECQBdh09BgQoq4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=lhWIR+7fs4a0P1h9ujYRbH6AmXvnG/nVOhb9UoAHIrH1d3P0nBWrerzhJ23PuT7ZuWwrZaa+UaHyJ6zeq7qUL7st8heE/cawuV8/QwdGCP+57EkuTnWF6XahotE16bcug6j/BC0R39Qrwzg7O+OLG636BKsdFujjpL4rRAXOLGo= 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=fVT1HXY5; 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="fVT1HXY5" 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 5ALDWoeI3499046; Fri, 21 Nov 2025 14:37:02 +0100 Received: from am0pr02cu008.outbound.protection.outlook.com (mail-westeuropeazon11013068.outbound.protection.outlook.com [52.101.72.68]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4ajqucr9ts-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 21 Nov 2025 14:37:02 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xazzgj/jVbxohYTYNfoSESEJ0HAM3XgM5kCWFDSe+uv8pazV3xoERx4C13Vfm71NeyfpyOLv/ik7AsaHXtHrli6nKYGe4pfAIlwtbSpo9GXE8r35hfMto6X0GeRNfBgl39tV8hI542UensB0ZmLMKn5hLpIbQ2efdAEHh16d8h7yklDDiAw5FJRmqQ1nkIIH3sLcZp31vw9Ku6bqse7PUTB+o/rq5rXp6y6rzvs2nHX0S8t/vEeNNjk4Oz/5eQMqUl0U+0FtluMskUAVeTsnRNHPHBedGQ2pE/XNUIARUJ9fQzJeK6wYOyipgjBpMKDEpWg4tt+ZXp9dsr6h0mo78A== 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=ZgFbhaNHir76wQoaKCmmuBRi93QAsTWShBx2lfqsshY=; b=cDFPuJEAcPOlQErhncGNssu9JGkXW519D8bmobW2qiwqfhxIg9WCJLWgS5CoKWJgLog/npBDxosxkjnPAjPMnRG2mN6Cw2ZAeKSk9cY7FRlQUFekQ0xGNVR/Tg7XYjLHsJaokymGn4VW3jjtd/R453KXQmeU2tE5Q/RTsb/oR6n2pHp7qt7xLv+eyG87FSh9hUz711fsgKYd2lo7XgFwX5X2bhmU02WYnNHxr+CwW4fVv49q/NWwDZgTq8Um+cAVA8L6MsXvhUuxAnHEM9FiY+36Uh/yeqMcY7Uy6YXP7020f9eoSnkZBqjt4CkK+BJvLlyFd1MVnDX585RHgMBmcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=linaro.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=ZgFbhaNHir76wQoaKCmmuBRi93QAsTWShBx2lfqsshY=; b=fVT1HXY5x8sdsY9xYs8do21KjLAFAvM8XbfDLlZRwGbyhoJNibLvKTNd6Bn+vsmnZCQSXltRvIIW91Up7k5Z2uC/pjbUB+FgdzpcntkbS2TscBvZRwJY0/95YZeBbbpQp1bOas8/TrC46jDf/hx5Bx7b3X+u5FdM/eULw1LoHmaAYcuReFp+KneH6SJnYvj79PuL0JzCVrWChUQzzhPTjxgCPtVBq/JU+mGsCD9Gso5YlSo2Z/iUT3Lom0rVQquWI+cjLUVhS5+rJF7u4t9cM56qixIgseAR2pqR8Tj5HSLC/LZYrnjcbMRyKLMKGgNhXCRLO0jjDu6eSRjShfR0qA== Received: from DB3PR06CA0013.eurprd06.prod.outlook.com (2603:10a6:8:1::26) by AS4PR10MB6329.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:504::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 13:36:58 +0000 Received: from DU6PEPF0000A7E0.eurprd02.prod.outlook.com (2603:10a6:8:1:cafe::95) by DB3PR06CA0013.outlook.office365.com (2603:10a6:8:1::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 13:36:59 +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 DU6PEPF0000A7E0.mail.protection.outlook.com (10.167.8.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 13:36:57 +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; Fri, 21 Nov 2025 14:37:23 +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_256_GCM_SHA384) id 15.2.2562.17; Fri, 21 Nov 2025 14:36:56 +0100 From: Amelie Delaunay Date: Fri, 21 Nov 2025 14:36:56 +0100 Subject: [PATCH v2 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: <20251121-dma3_improv-v2-1-76a207b13ea6@foss.st.com> References: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> In-Reply-To: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay , Eugen Hristev X-Mailer: b4 0.13.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU6PEPF0000A7E0:EE_|AS4PR10MB6329:EE_ X-MS-Office365-Filtering-Correlation-Id: 10c127c9-964c-4293-8fc3-08de29030af0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YmJ2bktiT2Y1SkUzc1d3em1NMTBaRzVrdm50ZkRMeHQzNFl3YXNaWmQ2SVB5?= =?utf-8?B?SWw3TzBLZ050b2xrWkhOWmIweEZrWXRUUDE4d0J4dGphVnNtVnd4aUYwTEI1?= =?utf-8?B?RG1EYy9NVGZObFloRThud0hQU0JyWXI5WUVScklTcy9GRkpLcndSUm1HenlU?= =?utf-8?B?bURhZUxkUHUxS0pLSFpsTnRQd1dzbzA5MHFsYnZCUEpWT1hFYXB0WkR2cGtI?= =?utf-8?B?UWtHR2c5RGtvaVVVZ0NralU4ZlNWS1JGMDZPNkpTd1o4V3VSWXpkQU9zUkVh?= =?utf-8?B?OEdBSmQwcytBYVptT1h1UEwwL1VEdS9EaG1ZQUVHdk0rVmN1NEdXQUJKZ1pk?= =?utf-8?B?aDVUeHlaRk9iam9aL2FJcEs1Ym45TS9ZbVJwOU9rby8rUDU3NEQ2UWdhNWRQ?= =?utf-8?B?SFAwb2R6eHB5UDBnbFNtOWdWWnFDOTE3V29DS2czVGtud0lxN3NCMy80NTJW?= =?utf-8?B?cElLcDk2UVhuRGxJQnFVVm90YlYwOUNBL0xvRlc4WkZ6SmZTT0pnQ1h1NlAx?= =?utf-8?B?c0orNXlVTzgxOVhDK0xKaDh4Q0l6OU9RUFVwd2N5TVFuVEVjSUgxNVM5QnJ2?= =?utf-8?B?NDlkKytSWDBZbG5tU3B6bGZJVlI3akVxR0RyTjN3azdrM2xnMVBRVk5OdHFq?= =?utf-8?B?TkZBbmNzblpRNTR5cW9vUDBRY2xkTXUvRkpvN1FkU1g5MUdReGVtYU1Fb2Zk?= =?utf-8?B?aGdWTVNsOENjbVNOSmJpdDE0NU1ZaFJnaWxaU0ZtRXpaYi9sQ2hsWWgydVFP?= =?utf-8?B?M3JJY0piR2VqUUx2MTJLZ0J3d2FkUzJXOWhJQ3ZKc1NjZ2g1VlRSSmI4YTJX?= =?utf-8?B?RUo1Si9UdjVSKzBDSzNQcW9XM3dyNWZtalcvQzU2YnJvUUFRTTNXS3pHQmVa?= =?utf-8?B?ME5SYUtpVDBZNTJtd2xWQW44U21wbUh6UG9uU3BseGZ3TEFFeVBtTEE1dkxB?= =?utf-8?B?WkpQMDdIWk9qSGlRem1jdjZyYlVCdzNRTUpJN05NcWhLV2lIRHFFTWdkTkN5?= =?utf-8?B?d3Z5WWpIcXJMZEk5K1ZUVXVIeUJqNTNKaEdHbGNBYWpMRVhML1ZaRWFyRlJH?= =?utf-8?B?K1RPQ0gzZnhpdkZrSjRVZkNpb0xJa3U1TFc5Rkw1eVA0bmNBSmZFczZzdDdY?= =?utf-8?B?M216d0hCcklCcERjSG5ORTRXTmRHZkhjb3pQR3VocUpGTnhCWjR4dG5RSTdG?= =?utf-8?B?Y3ZTSGJGVXd1U0E4VEdTK1hvSFdZS08xdlBzSElqQ2JWU2tta3VHWXh0bUN0?= =?utf-8?B?OGd3UFAyanZoWG5yNzJpNzBOZEw4ZWlsa21IVmwxazU0OFhKS1lIUFhvUXBi?= =?utf-8?B?b0tpeTZyb1kvZEQ5eXkzbHRBdDBGeTFPa2tubEgwaStKUUl6SzZld2YxZjlH?= =?utf-8?B?OFhiTE5seU9qd08wVmtIOU16U0FaUGhkTjhacUtGSVBJTW1WRnp0NnlKY1Uv?= =?utf-8?B?RlVIb2V2MWNOTmtsTHN5dGNWTWhxU0N1MjJONUJxZDlqM3grUmJZV1dETkdG?= =?utf-8?B?bi9qNXBHYTRRbGkvVEZEcjhtamg0UEU1MUlUWlk5WG1lYXprU3AzRUUzSmF3?= =?utf-8?B?ZzdEZExvVGpkZElwbzdYS2kyajkxZ01NR0Z1ckRNWk9RdCtwbUN2Qy9vekJ4?= =?utf-8?B?UWZFd2VaQmRwaHpWMU43RzhqTHFvVGd5MmlCaWR3b01JejlkK1F6VGJnQ0FF?= =?utf-8?B?WWlSUEVVbHZzTzFPWXVxRVB2ckxDSVJKa3BiWGllcTVocVo4bCszRG83VzJV?= =?utf-8?B?Q05jTmREWit0OEk3Y3c0enNVLzBtQTl6c0VML3ZoMVl2WXA0MVFVZFFVQUtu?= =?utf-8?B?UURNK0dOMkc4bks0NjVLL3dtN3huSDNUeENBS1kwS3dxWEd4d2FWeU44a2NG?= =?utf-8?B?WnA3K25WMlFOL2lEckF0Tjg4WmZFdXczeno1QnhBZEdOdm84dE1pcTdkZE1j?= =?utf-8?B?VWlkclN4Z2pBeVBmcmtxNkdDVWsxVWlyT1J3RWlJZmd6WnQvdlREUGJrUmhQ?= =?utf-8?B?ekRKK3F2MkhSQy9TUHVLWG1YZy9UV2M1QjBNR2VHRlRZZ2hiRVJoU0lEbXl4?= =?utf-8?B?b0Y1akRveWxxVWUrK0lLMzFjSmxIWm1JSzY5MW9TMzVBeEFHVklDb1hpZ1M5?= =?utf-8?Q?TchM=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(7053199007);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 13:36:57.7151 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 10c127c9-964c-4293-8fc3-08de29030af0 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: DU6PEPF0000A7E0.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB6329 X-Proofpoint-GUID: DFsAbZp6WO1QOje2EYtGrUcygWqTDuED X-Authority-Analysis: v=2.4 cv=EdHFgfmC c=1 sm=1 tr=0 ts=69206afe cx=c_pps a=KOiI8WV4eRqHkUZxW/2pzg==: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=KKAkSRfTAAAA:8 a=8b9GpE9nAAAA:8 a=B0u0qpW-aHUTvGdyuXcA:9 a=QEXdDO2ut3YA:10 a=cvBusfyB2V15izCimMoJ:22 a=T3LWEMljR5ZiDmsYVIUa:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTIxMDA5OSBTYWx0ZWRfX8/LdXOsqEJkb EhKby2zvwldENI3mY/EHOPAiwdn8Fkth3MnDJR365IoLjDmwMC+r3O+isiuiZmrq2G7xA8JOF0I 56d+PF7vh4J8g8y9NjgQyIc7tHb/Kr2FE+9R0whPZlY5+vPrq3x0uV6rokt/0oY3yazb82CyiK5 dHjJvBjy8APBNQ4p7Rf4L6nMmznWQtN3+GyIXhmTxXmRhlS6tEsbNFtfBVC8M9D8AoOdx04fA5h IVSfhe4V/aCmtje9pwPJ0Cvil4XRJsglTLXvKAyjph83T1wYGOnpLE6Z8rNj/x+Bl+ihq1DPsJV x31/VUUnw4Y6gPA/2GNtWv5CL4dOUfboE611xTAaqQOZ6nZMDDWLMvdB7Ovg5fvh8HH70botapW TxZFtyeRvAdnAt5CmdqZf2hOCNa1oQ== X-Proofpoint-ORIG-GUID: DFsAbZp6WO1QOje2EYtGrUcygWqTDuED 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-21_03,2025-11-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511210099 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. Reviewed-by: Eugen Hristev Signed-off-by: Amelie Delaunay --- 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 Tue Dec 2 01:31:48 2025 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (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 DA69C34B415; Fri, 21 Nov 2025 13:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.132.182.106 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732237; cv=fail; b=lRbbqOjL86bkSz2Ha/3h7X7b2MB3nYRZDe9CV/1VIAC6n+zd9k1YDCc9uYC0vbXTJix7K7mV5dZsvCMKwYxz0ch37zse7VQasyBYhLqX1oFPvICAroOu0X+UI/HVi9tWdEjb/aXemBhVueimhRUGH7cFE8wdEs2Uqtzhb3NAzbs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732237; 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=UYQW0TfzN+D+1dlvP28O8yJXLn4n5daOfhVTwMs5uTixtD525bXLCktqzjgTm0IZg9IpcKN6gpc5bqM4LvOn4ZVxmQJ4MPY5SL9k3OqsAZcwWaOVlF04fFec02O3ujXlJfh7ql12s7RvrWaCkc+sS/cfaQKeuwYMDr76ggC9bMI= 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=O8lyxsdd; arc=fail smtp.client-ip=185.132.182.106 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="O8lyxsdd" Received: from pps.filterd (m0288072.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ALDZKoS3611604; Fri, 21 Nov 2025 14:37:04 +0100 Received: from osppr02cu001.outbound.protection.outlook.com (mail-norwayeastazon11013024.outbound.protection.outlook.com [40.107.159.24]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4ajr6pr6rd-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 21 Nov 2025 14:37:04 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TO61bcHK5LltEEN/T4Z4jGXMod1JTl9Ro/bfcfdzv22cfrK5+ORY1chIhKu42p5TGlmGxnFmeJGwf6UoolqMWKkdA0PJJpZZkL9VEhQO6jSPbaTlbVtdudkJ4yWF/DR6mJVtd9AAatEyqBNvmDhKTjGKk2NAielIf0Eea93HVQT9Mi9TgYRtVmEtOKkrqp9ctrAWuYDBOxUpvguCei36tgEC7XF10kFvVkm+L9s0ZAeI9FF8hVJ7Kt9LJMLejd9cwotZWxMvggp3Y+qz5ct4wnBSxnGqAncvGqW0SKjpq/kLdi3IeTwhky67/HEWd9fKBBezVAxxovE7QH4uJDQQUA== 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=jYsn+kbOxnBO7Iy+wUNbR22BukrEC/uOzeX7BxDzNDtkEmI9gPtElhQtz9D9sCn6/sO8k9aDzgst/xsD0Inx9Zp4QqVEZIcKy/hImaCPYUwDK2N9HpB1QF+/Lm093r00I6sTUdPi4rySXaEL3EiQqp6umtAyxmV1+QGmsNd2EIEwtUZFMOT1oHNkObsElK/Np2TRWxTsQRilakJ5sgRQSbm6M6lkfbFp5lpcXd0YHOtWwIyLhZ5l7ua0vWeVY2+8EQxs4jE0W6hXzhDf+SrhwGsTSnAQWjcnmh6oNhekbck88nWk/msc6ELEObKWS/2YcZGd7+kf0fXZa3Wgtqs+CA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=st-md-mailman.stormreply.com 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=O8lyxsdd8pSAljRV8ejqWm9HerEIuYM78KQOA1rmxoKvo9o8larRK723O+eduOQEX9ChrpiCixa9gGAo9tT+6cbxe69nk7egKaLRpVWgLzoM/vBt2zqbynmvNrYruLd29JkNlR0z+QlVihJ0D++dgj4g+ei1VON/hGtMG03c9RhsqSfSXDFwiE56py7/Fmun6R0VndSBwBNAbuv/bZ+IGoV25gDaOhFTL99vY4nWjmPrXkwQYEzqHUObrUNwwZsuM3GBiDdBDY6L+CjJ1X1o2cQVwhb7YjbijCXJcs45YW5Md1U4ah4VfE3YVNhHi3p86mijcX61489sQ0PmQy+yGg== Received: from DU7P191CA0010.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::35) by DB5PR10MB9193.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:5e6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 13:36:59 +0000 Received: from DB1PEPF000509F9.eurprd02.prod.outlook.com (2603:10a6:10:54e:cafe::2e) by DU7P191CA0010.outlook.office365.com (2603:10a6:10:54e::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.14 via Frontend Transport; Fri, 21 Nov 2025 13:36:57 +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 DB1PEPF000509F9.mail.protection.outlook.com (10.167.242.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 13:36:59 +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; Fri, 21 Nov 2025 14:37: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_256_GCM_SHA384) id 15.2.2562.17; Fri, 21 Nov 2025 14:36:57 +0100 From: Amelie Delaunay Date: Fri, 21 Nov 2025 14:36:57 +0100 Subject: [PATCH v2 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: <20251121-dma3_improv-v2-2-76a207b13ea6@foss.st.com> References: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> In-Reply-To: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.13.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F9:EE_|DB5PR10MB9193:EE_ X-MS-Office365-Filtering-Correlation-Id: 506c60d3-3641-46c3-10d2-08de29030c02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OTM3L09jWU04ZWNVZUlaR2Q2aEpvbkJ6eEdOUlhuNklBV1dXa3pERkZNeWtF?= =?utf-8?B?UjVLOGczenN2anNobFR0ampJSmNFU1ZnTW1WYTZrSGJOV2xGS09nY0Juakdz?= =?utf-8?B?ZlNMWi95YUxDdHZDYzc3Q0VidjFid2FrSCtCb3kzTHp5dTNXR1dsOGt2aGhP?= =?utf-8?B?azZEVndwNVE2NWQ5b1A3TE1ZWmY0aXRlUThmeDlRdDMxVXRhb2pGYzNtRjFv?= =?utf-8?B?NXA5LzRCejhkMENaTGYzNDNoZXcvY1d3cGdCekk2S2gyMDh3WGp4aFZuemZk?= =?utf-8?B?SWtGSEJuczBpd2xsbGFGWGc0MHBRL0J4aU8wV2Jua3VJZ1crMWNpcGxMNHlr?= =?utf-8?B?MmZtdCthaTIwckxENjZvbTZ4TlB6RkxZQnpDbVloN01tYXR6ZGNReDBQVzBE?= =?utf-8?B?NjNUdEw2d09BK3pSVlUrakJKL0ZSbmU3MnEvL3lXWHJCeW9WckRkMTN1YzI2?= =?utf-8?B?cXJFTng3b2VqK0lOYW5CZk5UUHg2eUwyRFp0L1dsVnlHeGJSK2VvYWdnUmNQ?= =?utf-8?B?OTZSU0ppb0NIT0htZnYzZEFmNCt1NExxUXJJMk1SaWNYaU5KYVRYMytsRklv?= =?utf-8?B?dUludy9yWlp3QUNMclZkd0JXbTI2TXphajJpWXV2UE4vMXVXRDVseGhuSnA4?= =?utf-8?B?MlY0N3BvLzluVVVPMWk3cGh4TU5rODYxWDA0QmxlMDJTUVp1bkg5T21XWThj?= =?utf-8?B?K21Dd1oxa3NwRDFhTW5GbzhlTG9EaWhyMVkySEI1ZmdzMDhqdGlGcFpDNEsv?= =?utf-8?B?OVo2elF4OXN3Z0l5eGdnYXpzWXM3ZVVnS2F6NDlmek9xMXVlYUhQeUpiUVpq?= =?utf-8?B?dnYvKzNUUmdGOVdDM3lqTENDQlJQZjNEK0UxWXhZNi96Q1VKdFRyM081czBR?= =?utf-8?B?NElqUnBKQ0JwZmszaTlSVXEyblY2bGg4TkFqUjRWVUcwY3daSmpPaUxBVEx1?= =?utf-8?B?b0tMRWpCVmpPejBoVkRnU0I3RWtOSml0Vjl0eFN6UDhCOFIyQkx4bU15N3N4?= =?utf-8?B?eEFoVUJhRFhCNTgvVTlHdkRDa2RiTzh2Qms5SE5Ld003ZDE5KzRBbXl1M0V0?= =?utf-8?B?SWJXSUFNZEQraXZBRGpFeWJZY3BNRDFoYXQ3dURhNW9NVGhHZ3FpUTFNK2xY?= =?utf-8?B?aHdYcVlCZmdJZkFhbnNQZURWRHlYL1QvNWU4MWRkMEVLU0Q1V2VyWWhBYktH?= =?utf-8?B?SEs3RTZvOHRNcUZoeU5aUm1ORDh2dzEyK09JeEZPQ3pFdGVCWTArOUdNbG4r?= =?utf-8?B?STQ1WGE4aURadm5RbmFZOEpRR1l5V2FVV1pXVWZ0L2FyUEdkZEdLVUttdDFv?= =?utf-8?B?ZUdtU2ZCbGs0OGlac2ZIV1hiRm9hSzJDc3dRcXpMSm9KNkFJcEllem5mem0y?= =?utf-8?B?MHlVODBMMDBRTjRlTjZPa0M0L2VzNTEzKzlybTRITVloY0tCaW0zODQxcGs1?= =?utf-8?B?cFF4dVlYVDNKRVcrQ0ZMVUx2SGsvYUd5YzdVNCtyMENYUmlkWEMwcURJSzJI?= =?utf-8?B?SE1udW9nZjFqby85R0daQlVGYk5hcWs4OUNzVG0rS2RLUjR4VElub3lUZ2Q4?= =?utf-8?B?QnEzUzJ4bWZvQ0hFNENjZkZZNWw4b3VyN0hWZ0QvSW9Wc09tNDZEeFFwVEFv?= =?utf-8?B?ZXcvLzNWVlY0dllNbzdrNjBtakpKUWgxYzUzYzRBL3hjdzkrWEs5OFZ0RC9a?= =?utf-8?B?UitqNWRCWXJYemovZmlML2xjTTRCbVlSZUo0YUtWM29XZGFWNEVUc1FYcGNx?= =?utf-8?B?L3NhL3NXN3d1bE81dDJWOU1wV2l4dVNUSXlsdXZVRTU4eURPdy9sVThIdExq?= =?utf-8?B?VjdDNU1MY0JmUkljY2pNY25wRlAwZndUWmpEY1ZrbTN6UmRxcElOVFRaUklE?= =?utf-8?B?SWJ1cFU4YXdhVFFFcFBNNE5LYVhBWDlSbE1KdnR1TEdIY1BGUEVxRTRtSjFi?= =?utf-8?B?WElnM244SzBqYkd3bVBEUHJRL2FjUitUMjRNL3dJMTlrUitQbG9YbGVKL0xq?= =?utf-8?B?ZlhlRXV1b3pnTytCR3NqbkhuSE9yMGpHc1paR2RJdC9HRnpmR042bkVyZlFw?= =?utf-8?B?c092WUJaT2tLUTVTbENMVUpUZVYweFlFWlNqT3FNeERnWHFhNS9leWkzc3JK?= =?utf-8?Q?QQJg=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 13:36:59.5205 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 506c60d3-3641-46c3-10d2-08de29030c02 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: DB1PEPF000509F9.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR10MB9193 X-Proofpoint-GUID: NWszJs1F1d04DedvDNeuDLDyrkx_ioC3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTIxMDA5OSBTYWx0ZWRfXzyT6VXR0hiUK LjQiYUmNLbMmlk6QH4DD03fXFDuxeG+Ryot12GJxCDh0wCnWRoRFfbJaEXz0TljGnd714Rd7TqE ekpeAGXNpQyPD2JPg1VKLpDdrq7ZruBMTbOTZNy0PMrb45cUSOlVpjELKCOnQnBPAT0yXw+oSIF ZikwHXDfdQqyzhmeyeYsjUgHQwmgE7zB8xcSuPsWEufcV479E6mjLX4JkMO7ZmX8qcKziD5JYzq 9TND5GtIBJgDZep6+mmzotIhWslpJTr/LbRInSTLczUI6wEyOcYy7iKkl/eXKveKzCnPY4Yi48z 8vfb3GAeGTY6gjvVteYH0aWaUG1jFFd8JN3VvxdhwOOxKBUcIX0UF03TgH2B5EHkhI0SFM6oR2G WNzPc2hlZsjVViPH5h3nlk+d37SStQ== X-Authority-Analysis: v=2.4 cv=J+inLQnS c=1 sm=1 tr=0 ts=69206b00 cx=c_pps a=gkXL6sAu4RnYAcgyXzJ/6g==: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=IQHcLSFj4Mn2yckHXKoA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 X-Proofpoint-ORIG-GUID: NWszJs1F1d04DedvDNeuDLDyrkx_ioC3 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-21_03,2025-11-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 phishscore=0 clxscore=1015 suspectscore=0 spamscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511210099 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 Tue Dec 2 01:31:48 2025 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (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 19A1D34B1B7; Fri, 21 Nov 2025 13:37:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.132.182.106 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732237; cv=fail; b=gcZD+zn0I+hP4rUuV+se4yAV1R2AAje/GOHk/bOV4/Yqyc5s9Ib4G4kdWe+WPrujnJ46AcbRxGHKuweCqK9W3jicjQ6kb8cPpXELhwuUgWkS0CiTF1Z592vOHn5N4sP/h8SwPH5ZKamqP/1k+ySK0nagpbqlMPrEvw9MT6brO8s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732237; 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=ijj0R/XNGtL9MzEsB9rOjrWgFcvJfnUBD8mSWz4V2ArLaqhugST2deKk59u5Iyrtom8mIMnxKIAH4y5Izgf2MtFzoKMEgUlH/VX+B5zFH2Vp1SB0I3wQVKbFBSSsYxOTuUDkjCEvj5xXCPx83YpiXVQDYq64i86OVsm+MqFPM4s= 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=MVoyBQa/; arc=fail smtp.client-ip=185.132.182.106 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="MVoyBQa/" Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ALDP1Yg3431900; Fri, 21 Nov 2025 14:37:04 +0100 Received: from osppr02cu001.outbound.protection.outlook.com (mail-norwayeastazon11013004.outbound.protection.outlook.com [40.107.159.4]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4ajnmt8x2t-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 21 Nov 2025 14:37:03 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lyFMYqKTbKmtKLj3zJZ8cs7L+bj0s6BFrixymSL+J7BEYoTEnpqQfri+1D/4r38lSqs5Kxt9Csp7fUMPm2ppkQZzNXPYA123MCKRG/yU49gWsfI/Q6+uN8YuTIL5NAEcO6KKxgQKgTtbwkanoY7xS5tJLXT8wogK4og4ts4LXgLU9TQZ6ZbTSt17zSj42oepeqK157dwdK8ToliU4mWrYV8lEr69/vNSpq10UbmdDFpXTQFwpVzrUQqdlrtSrqgkkhs8DeqVZbiEgwCivqVHgYZdNvlYTDbIoeGO1Oqbu1kACFoOULruX/tiJKJ44qnLFOZMKP0BMMwGUI+6uHFwGg== 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=LAGEkd93YvfL6obY5C1mdgLOSTSBGwQlr5npL0tueNIeVJiwHxNyEadCIg8p80cuWJxhNcBLOf8hTjkc+M6U/LcrnXpt6TxL1tvLJ++u3QqOgmPCSS6lG0DLTvhkwRZdVffNc0sjUOfAX/PclzC21feGCak7DMYFAwMrpQTkXUVR2I802Bcwb8dq3jayqpFODq7RLMFyZJUPcAVEEfG7iRbDzZ4H9zQezSr90whNzFUXyznoInequkBfcUWWITLSlJdJHfC4Zi6Kb/cXSJYzUkj39tWSrjCe8KCrwrEyxoKgwY4AM3MTu6HWx7xIrGuTMeYC6CvtEjy+8vZzAzobAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=st-md-mailman.stormreply.com 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=MVoyBQa/yjfydgXdooqBnWl0HDT0y0QSsQxAMl/y/CBoOtH1E88Yog3GSHIt+kdEvpQELijCVaD40qFE0BquvBj9WImc8XAbSHgQiCkLwODUgtTyW7l1YtxNPSO68Mzcgoq9VTMFKF2tL6tZDP0vQwf4gP4KfnhFTQJxSAcjZgeh6krSxzwoAe/3NA+vFfMlb5mg5s/D70mnuY0GkJgNZZU2Vw71gNqTwzICz/NXWLYdIjrlQ5EYHe2q/6HHDrAT8BCOQN+84SyZo/i9ofDPzvfSMuSuswivajNu5tXHs8ch5QFK6CLlYGmLye+ucMTlRSKDOEbIJZxOdACyG1wQag== Received: from DUZPR01CA0342.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b8::26) by GV1PR10MB8417.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:1cb::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 13:37:00 +0000 Received: from DU6PEPF0000A7E2.eurprd02.prod.outlook.com (2603:10a6:10:4b8:cafe::f6) by DUZPR01CA0342.outlook.office365.com (2603:10a6:10:4b8::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 13:36:57 +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 DU6PEPF0000A7E2.mail.protection.outlook.com (10.167.8.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 13:36:59 +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; Fri, 21 Nov 2025 14:37:24 +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_256_GCM_SHA384) id 15.2.2562.17; Fri, 21 Nov 2025 14:36:58 +0100 From: Amelie Delaunay Date: Fri, 21 Nov 2025 14:36:58 +0100 Subject: [PATCH v2 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: <20251121-dma3_improv-v2-3-76a207b13ea6@foss.st.com> References: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> In-Reply-To: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.13.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU6PEPF0000A7E2:EE_|GV1PR10MB8417:EE_ X-MS-Office365-Filtering-Correlation-Id: c31e225b-af48-4db6-27b5-08de29030bbb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WHVmckZGdkVNazFZRGxOemI2elpvNDdHSlJkSUxiN1lnRUR1em04bVNab0t5?= =?utf-8?B?Nlg1ZHJDOVJ2U3phSnRqR1NkR0thdTgrd0hNL0pmSDJhQjJ0bE1xR2xvYjZK?= =?utf-8?B?OG9IemxndXZWUyt1alJxdVU4RWJpUnZuaSsxVHBPb2lmRlAzSFN0Rk16MnNW?= =?utf-8?B?bmZ1eXZOTDRLWmMrR0ZoNE1laVlmbHpoL3FCdnRDd3p0ZENVb29ZN3pXbU9u?= =?utf-8?B?VWh6ZXM0QVAvQkhWdjJodURDNFArb3pIWUVrYXRhTSt1RW13d2VCaWJJUWR6?= =?utf-8?B?dkFkWmRwVGp1U0lldW5JMDlYTk5FNkhaTVVWeUh6VFRPQkNXVnkybFZ2RHVZ?= =?utf-8?B?VDg2bjQ5bGFuVGZ0alBEcC95Q3FsUUtpL0lQbDZYRncxV0kwUEVvampFUFBx?= =?utf-8?B?V000aVpxNDJoemRqSTg0bitySU9pbHlaWlV5dWlDQ2gyKzFTYjdUWlRBSTBW?= =?utf-8?B?UWZRT0pmVTQwUU52Y0dtUXBtSXBmTXA4REtQSkJ3UEM0Wnp5V1dkZHRPVUFP?= =?utf-8?B?T3lrNmJMYVdrSkU2dmhPSE5NM3hMSDQzTndaYVYwNncvWjBYNkFyRW9ibGsz?= =?utf-8?B?SWZXdnhUN3d0cE85U3FpMnBkVWdTbmhndWg5QktSM2FTWlVHQTVjNjk1dzlP?= =?utf-8?B?MFN1L0J0WElqVTVicE8rSTk5cFR1amoyWGVXL2YrYklnSjJiRWlOckVuUXE5?= =?utf-8?B?dk40TU5ia0VKOXpzbmdXdEJuSGYwWFc1QVZGekJTbWJDYVdPd1BxekdCM2x2?= =?utf-8?B?VUpaN1c3dkhrZ0ROditSRGlROHNPMWR6ZWJHMlE5YjRqY1lLbkxrU2FpNzJi?= =?utf-8?B?N3BYd2hra0RZVHpwQk8vTEt0SWxRMmUxbElMTWEwOE4vL0NJOElDcWtzZ3Z6?= =?utf-8?B?WGhMZWRrWnRmRGlFa3VrTm9LSVkwZVBsblFtc0Y0OFR0VnZxN3JZVmljdGdV?= =?utf-8?B?NjRFTS8zaWJIcWE2L0J0WFZQWjF2TVVobVVUZXRtNWl5RWhmS2ovSjJjQTd6?= =?utf-8?B?c2JpQ3FBNE5JOUl3eHE0cWliMUZLblZUa0l6ZFNFb0E1eG5Hb0F5MEVvd01E?= =?utf-8?B?SnpWWi9JT3VoTmtHOVIybDlvVTg5ZEQxbzloUDl3RnhXU3NzNDM1eENsRWly?= =?utf-8?B?RXZEdWhhYVhtUVBLbE5XVm8zRzdWUndGWlZ6Q2RERHVSVmpEaC9LZEphTGNJ?= =?utf-8?B?NTRjTDFYMm9CdzlNNWp4Y0tjTHQwVWdFMGo0TE9iNEl6MWszNjYyWHRZMjVX?= =?utf-8?B?eGpmTnhRNEludWlYUDlVWmJhaWpCYjNSVlJoNEFldkd0QVBBUDJray9KTVls?= =?utf-8?B?S0xERUlkYTJINmROTGNLZWIwVDQya21wdG1VbldLZ1JzY2lHY3VkdXd5djkv?= =?utf-8?B?Y3psQUtUWlZjNzdBNklDek1NQzR6QnZYVERMTnB3eWRGVzU1U1hjcHZtMEpi?= =?utf-8?B?TkdzUThMVEhzQXNoYUlOSjBpZDN5V0FYRmlWekE4dGNuSnJLbDQ3dU1pcE52?= =?utf-8?B?WjZHcWZNa1lqNEVpTnNDNHQxeFhXZzMzVDc1NVllZlp0MHJxaU1DZC9Za1RW?= =?utf-8?B?TFNUNDNRZ2RGZnNaVnNNeEhnN3JlZ1JJcWgveEEvNXFnOW9xelg2c2ZIRnJl?= =?utf-8?B?bTJtK0Y4THdnRDNSeE5hdzhadmNGK0JqV1VneFJEemNZbzd1b04xTEg0Tlor?= =?utf-8?B?MFRhWW0zVldleU85cFNhNmR2dHBRWmp6bm85TlhwajZCWVpIVlpINDkxN21z?= =?utf-8?B?TVgwbitRVzRYTkNVTzRaeXlEUG1TR3JiRTdoSGYwa2hYTkZWVjNhb2o3K0hr?= =?utf-8?B?UzFPVlVDWW9VNU5mM005YmxsaDlMZG1WSDVMTTJJMlZpYUxrU1dQVkNOclZt?= =?utf-8?B?MlpTYzh0VUEwMDRaZENqR1dKeUFzZUdVKzBVVXQ4bTFKM1ByOVlPV2c5Vldm?= =?utf-8?B?NzhLWHFkcUtZVmgyYzZBZ2ZYTHhQWFV5aUd3UC9wMno1V25jbzQraTV6NUZs?= =?utf-8?B?V2FFaFhLYmE0LzhQa3g5encwM3QxOUxwV29qSDg0YmIwc2xPVVRTUVQvY2pl?= =?utf-8?B?dUkyU1A0V3Rlb1Yyb3pnQTFlY2Y1SzN3UnVWUXNFOUhDaDZQUmYyT240YzFW?= =?utf-8?Q?KBSM=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 13:36:59.0506 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c31e225b-af48-4db6-27b5-08de29030bbb 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: DU6PEPF0000A7E2.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB8417 X-Authority-Analysis: v=2.4 cv=fYKgCkQF c=1 sm=1 tr=0 ts=69206b00 cx=c_pps a=jsgMSbbXZK7K/abHNvEvGw==: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=mCSX4VwkHrH6H5eNLKQA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 X-Proofpoint-GUID: oP3cBlppgGX6vh_lUipXRNtvRPycVsXO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTIxMDA5OSBTYWx0ZWRfXz2MZ1rNAFhcw W+0jE414zmO9wD3/fPja/6g5yay9JeGMPmgYgUT4sqUwC/tyvv6zSH0gqFxpIcwKbZtRrsKagdk pAR6LaQdnDlHzFZ1KnbmDLLJuDVH1v/qhdW2ftAq7VEXAEcpqHV8sRmQ+oF45tr5f2UlgZ4x/ro TKfrb89QKYQKNAm1z9Hi2yLLR4YHDfSuIM7wKFux4g2SWZEHNl1yh9IUeQeU/rP8UMXp1Uz2JMV zlXtK0IMjWK026xEGY4w9gPKAPj2vc7pQiWVQ6JQdZAa3MXIsZT+p15yT4pn/QoRRzG9SgPDLiS U91+LJ5qI8AONca8hrC4n1aCtXarxLHeD9BgLbcX9aIVAi5fExPPoZp68wDKxZf5ZuUIofgJeS1 VumUCpyMGSSTORn6QMUZWYJ4CZ7ndA== X-Proofpoint-ORIG-GUID: oP3cBlppgGX6vh_lUipXRNtvRPycVsXO 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-21_03,2025-11-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511210099 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 Tue Dec 2 01:31:48 2025 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 60FF4350D5E; Fri, 21 Nov 2025 13:37:23 +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=1763732246; cv=fail; b=p9RWgQ1Idp+9v3vTGzlwdpWHLAgVNfcFrXkM0yxNt+2eB6AjKHYhGurAOKv+q6CtfA9bTkvtuktziaGxVGP1Hj+nKkSOOcvOBORTkM4zgao5jxGN03I2RLhLHVQsNnh/G21OUrNQ40N/kPLP1I5iX1xRMJvTc6/7EnYxB9LJ9d4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763732246; c=relaxed/simple; bh=q6zvVI1FBYfnS4jPQlvT4PIc7R3WaSPn/nFJ1spvX+s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=NN8mlZPu1Tc3JH3zTvPkfmSHTRvC+iPyECTrqLwlYl9x1/KRJhR1RqrsGfsPKigiaE0xckVMip7dwm3BPcOF30blYv/hbcODdydB23u/9hONjHb1Es+ewkyOCvQL2oy+OaGMVBzpuAU9rJAcmzv4z8Ed8HEjavOmBcxHY4D4I4Q= 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=IsifIa2z; 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="IsifIa2z" 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 5ALDP1tA3755298; Fri, 21 Nov 2025 14:37:04 +0100 Received: from am0pr02cu008.outbound.protection.outlook.com (mail-westeuropeazon11013050.outbound.protection.outlook.com [52.101.72.50]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4ajna5s12c-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 21 Nov 2025 14:37:03 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PYdh0GQLbaeGjc6rSG2/HylXad+g9Eet5pb4qQIbhMwAonhn8sxUQkECRT4OPYRpx5XB4HuAyx/VEF643cahRYnUprBMqWVlzCpvMkhgB/vOKBdP8XzkPe/sgc7hhlKo1T8vHBg7NCmcxSojC771xMuVZk4PH6+t/N0oj/WMwurrpmWtwiI2dX1dBK66acQn8a8D7AAAyvt9B3ENHBihTiOCrbfOwgvr4woMNGS7IwMYxbta3vCzwqCHhZkkny+ILNi1zg33G5mCAD1L1r1b/nernjO4jVFnuoJCXIgK5WrwMuwlB2RXeJFUqeSBqIagA9Vmy+4v87ofxFCfQLUxQQ== 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=KjYBgcTcnb2XTdgoCzHLv90ebNazMCij/1AbxUshzzA=; b=upOBkTp/D5BGzTMNxAOLrQTspi3V+UyDcau+/TWT+QWysyY/XAqvXYYPocWUJhJbRAYL0jtGWtbUOFY26N5QJRri5l3VqAeP4P/i8ln9xrecUCuTKhZCjyyohqBzP8rg7BDkUMAdQkJwieabioS3LY+7Nnh5D9XDlE0kX1MJY/tcguodBW37wzHFWKCxaf12JnVXer/cE0ctTSjPFfgVcdcImGQt2qs8Hnu80W69/HLMKR+s92fBfOwiBWs1eydcpGoi8BImwdOF4Zj2o3l/Sg3yTEmzpoOqQYKXLlOGn593/fBJHrz2SRFPN0HL0lQZw+WXWh08Q2tbzhri9GIdlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=st-md-mailman.stormreply.com 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=KjYBgcTcnb2XTdgoCzHLv90ebNazMCij/1AbxUshzzA=; b=IsifIa2z3CK2ptGkgl2LEUY4yuasut/KvV9bvHyvFsgcJVExNnVkK8XaQTu2S5GbLL05VCxG8hj8lA6vTgRjcPEhe1BLiFtPObgH3vTmqTdMoOE//bypK4QUY3ZzTgzQH1RWvoQGf5M2ucfO+gySSkKX6gCDMKb+QudX+nEUaQXNGxPvuP5Zvas2bhQnVpt9h1+MsX39xqMD11yCZ94WDEPGD25rJrFb8AUCSRkHBISdm9adEEhYk5XrF54zqH+Onk8M1XrRgo98QBQvLSkH5zSeSTrxcdKAlJqvjpWSP4G6y33nSfHZmi/Pl15o/E+Oh5+0KIFei2bo93FVUTQD+w== Received: from DU7P191CA0011.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::18) by VI1PR10MB3343.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:13e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 13:37:00 +0000 Received: from DB1PEPF000509F9.eurprd02.prod.outlook.com (2603:10a6:10:54e:cafe::ff) by DU7P191CA0011.outlook.office365.com (2603:10a6:10:54e::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 13:36:59 +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 DB1PEPF000509F9.mail.protection.outlook.com (10.167.242.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 13:37:00 +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; Fri, 21 Nov 2025 14:37:23 +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_256_GCM_SHA384) id 15.2.2562.17; Fri, 21 Nov 2025 14:36:59 +0100 From: Amelie Delaunay Date: Fri, 21 Nov 2025 14:36:59 +0100 Subject: [PATCH v2 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: <20251121-dma3_improv-v2-4-76a207b13ea6@foss.st.com> References: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> In-Reply-To: <20251121-dma3_improv-v2-0-76a207b13ea6@foss.st.com> To: Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , Amelie Delaunay X-Mailer: b4 0.13.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F9:EE_|VI1PR10MB3343:EE_ X-MS-Office365-Filtering-Correlation-Id: 79a87863-2e82-4ee9-1b50-08de29030c53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VFBXNHczY1grdXRlK3czT3NYem14MklWR0J5SFJoOG9nYTdiVS84N2p2aUVX?= =?utf-8?B?NStuUWJjS2pVRm5Bb1RiamZpS29iS1hnL1pseWRnMEJzK2pIak5zTDBuWEtL?= =?utf-8?B?QlE0MnUrZGRJRG1NNkpYOEVpbldURTlublNWcFA2Zk1vYmZWU0ZWZW9Cc1gz?= =?utf-8?B?V29Pbm42ckFoSHM2NE0xMTJxM0M0Ujk4UjJaYU1MMFNON3dsUG5SczFDRUhu?= =?utf-8?B?c1pDZ1hYNGRWb2loMTVFUEpheVA2bGYxdCtWWkErVmFsL3ArZGx6NTBmK25N?= =?utf-8?B?a2JFYmtSTUxMUkl4VjRScGJyNUVaMTR4Rm1UWTNZUHNPL2x4UGwyUmFpN0tU?= =?utf-8?B?RHkrZ2FEUE1DTU9ib292WFJGZ0Nzb0NFOWt1WmdIRXhKQm1mTXdvMkNWOUhh?= =?utf-8?B?REJXMG9xWXpmK3oyaGJ6Z2pxVm5OZnBSRG93YjAwVU80WUZoMzc3TzR0VEVx?= =?utf-8?B?QXluSHk2S3VrUVF1UVlPNFJZUVFhdmxSeThEVnlTUmVRbFlQSGxQUVVUemFj?= =?utf-8?B?MGpCMDVMTmZxd0VPUjh3MSttTnBlUXFwTGZlOG1FTFpFTFJxMWNVNTFTenFl?= =?utf-8?B?THV3MktQdUxSeHZheE5qcHpBaENRVytHV25hb291L0tDK2p4QlhtbitnaWhT?= =?utf-8?B?eUU0L0VveE9PWG9MUWg4ZWszK3hMSjA4QjNxWGx0WjNVMXdUUUUvMHRCaWNo?= =?utf-8?B?VEI5QWcxd0hzOHNmVGhzNzZkaG5jYjIyRXB2NWZKUisrdmRRWGEzc1BHRW9F?= =?utf-8?B?S2xMYUZnYnRYaWFuZVFsaC9senh4eGJWazB1QjhLVUZJNHRjdERjc1dUUWJx?= =?utf-8?B?Qy9JOFhtcEZuL01XOEFmNXpHdHk5bElGTmJZMmU2bHZpZUN6ZUE5ZmxFMFhL?= =?utf-8?B?YjUrcXhaSTMxY0pHQmxVZXI3QkZjMGZCbWNHMEJhUjVidDhXUFlDeDY2Vk54?= =?utf-8?B?U2ZoLzljNzNPRFhYcmU4WHdYL1ZJZVdjQkovUGxwczJnTVI5NGlmWTRjSkpE?= =?utf-8?B?RHVlNnpoYld5cTJMUlZkZ2xrVWN6bGF2WlBrbU1HaWFKSFBUUzBlQlh0Ukc5?= =?utf-8?B?aElpS2dOeXh6MzJ3Y1hPampVTStkcFNKVzNmMXFvVkZFUXVhVmJBR0U2VnRE?= =?utf-8?B?Ry9iWHhReGpIVlNFWHUrYnN0VFV4Z1l6bDhZaFdybThrVHdqV1ZKdXZKMEJ1?= =?utf-8?B?cTYrL2p0cGZ2R3hzM3FKaUc4VDE4Uk9YK2RsM0dCaVV6bFhLTjFnSFpFN0xk?= =?utf-8?B?K0VPS29YOE8yZVJqUkJSSk9MUWVPOG9CYlZIVU13dzNrQ053ZS83WU4xZnBl?= =?utf-8?B?UVFLODlhWS9zZDFKaFlid3hIaUZaWUxnQ3NUeUNCRXM3U0tSVUhuRnFLMDZH?= =?utf-8?B?T05VallnU0RTeEltR3pvN3NOMytjYUppZnRpYVB2T0dqTVdtMllaanp0SXkw?= =?utf-8?B?eFk3M1AwaWdMM3RZeExjVVJyM29lZ0QvZXNtNU5BVjdXR0pSTm12VGZYOERq?= =?utf-8?B?N0hCR0M2UVdyYTc3NkpsQ2QxcDFvS0VFOGlKZUNlTGZqamhOS2MxUjdWZklO?= =?utf-8?B?NHhCNE5Wd254bHhqbENEcmIwUVBSRGo3QzBvQjRLK20zSEFWZW9kSlNMSjJH?= =?utf-8?B?YjlzZ01JRjd0aDc4aTVwTVFVd3ZiV2hXbGNVdG5nU0h1NUhyaFhQbnZZTm81?= =?utf-8?B?R1lhRUNUUEdsMm15cWE4RDZlRk03MTRuVnZmdzcxK2UvNmJPZVNvUUoxczJh?= =?utf-8?B?VFJBL1VqVDYxYlZrb1RGbjdHSXI3b251NHg5UmNZelZQZzRDNXhsR2lGSEZk?= =?utf-8?B?NUVPbFVzSk1PZGNlRkFYUFdMcVFDb2syOVFBREFSdmpJeVNWU1JMV1BqcGY1?= =?utf-8?B?LzJuREpEVENjRGVsbjRiS1NrYm5QMHQzSGVBYXFOY25GTGtidFd2bDA3SW5u?= =?utf-8?B?N2pKa0RYR29uYlFMNmUzaVpOWlNtekkyWElrOW1qaGNBNnIxcmpaRG02YjJC?= =?utf-8?B?a2xiOW1paStQZ3phN24vU2NCaTZxdnJLd3FGSXlBcStYM1NkSWZ2OHdad2Vo?= =?utf-8?B?SDUzWjB5OXN5MEdhWlk0ZXNWSkQrU0FuZWVnSm14a0FFSkxnZ2t1N3BXRGxz?= =?utf-8?Q?03lM=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 13:37:00.0399 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 79a87863-2e82-4ee9-1b50-08de29030c53 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: DB1PEPF000509F9.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3343 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTIxMDA5OSBTYWx0ZWRfX5qttP84FGHID g3Tf4QZLCJCFHFrszc3i4Hfkit6qlkui9oQySK2tJPL1MAI6+z/xiL8jWdl5AIjUzUXUs/8yGcg R/3hesqZcdvercgNYLIgrsMHOkbDL/a0VUFCpS2h86GYXxnWvWatnIen0Ag4b/mcipdvWm7sfmG VbYT5gy5fm84PGJN8ns6Z3CGUlPpPNRp7mik5G9i7CBeVbxuS9V1P34RhJk0luRS+dHS7XQqgoL v6peYLsOqem0rKBeX0J+EtwzOTdJckegOU8I6EaBuydc68s92XjxK3eZOrLG5QaCeROBvHz3ZKT NU9YT2jxodJmUUTtV+t7jGGzd+phkukmSMAkhs2zV+H4KZJ3X688M/pIxcFq0UKfb1lQONBLQc+ fdgx90cA11s135Fk6odLG3S4tk2VdA== X-Proofpoint-GUID: 1zJK8M_AFFOxiwKU5Nclh5sMM5NEU5SH X-Proofpoint-ORIG-GUID: 1zJK8M_AFFOxiwKU5Nclh5sMM5NEU5SH X-Authority-Analysis: v=2.4 cv=YLiSCBGx c=1 sm=1 tr=0 ts=69206aff cx=c_pps a=v0EG2prNrbZAmvYa4Zp51w==: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=KjfASy0ghDGyr30XYOQA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 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-21_03,2025-11-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 spamscore=0 clxscore=1015 bulkscore=0 impostorscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511210099 The purpose of this helper is to 'standardize' device pointer retrieval, similar to the chan2dev() helper. 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 | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 29ea510fa539..84b00c436134 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); @@ -1110,7 +1115,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 +1149,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 +1175,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 +1615,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 +1641,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 +1650,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 +1670,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 +1682,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 +1702,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 +1710,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