From nobody Sun Feb 8 19:35:28 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013013.outbound.protection.outlook.com [40.107.162.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 900782F60A7; Mon, 5 Jan 2026 22:47:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.13 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653249; cv=fail; b=SrRV1zEZxQKaw6AUim05yADlWpmoK+kdjQJGVKJ9vDdduNSejYs5QsAjW8nibPAnzkYIXk4QnqoyfYUAnp2pHhaKf2WAIkEfgUYReRVvLOePYGwleMSzLUrPU2K2IUsxbL3GG9XZvKekYxxL2Dqqk/CGSCXoXqf73seVQyk8p24= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653249; c=relaxed/simple; bh=Wsp3uGnzxx0Wp3YeUhu72AainaVzttYYzmVBZXHB/VY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=qdqwlK0OS4uLN+URhKFHdpoUcHOy1mV7KyblE2jNFtvPVP8e9+tnjzOdsk/kkSssIik9gf2PZmHcD7rLg6eRf54ayHt0u2APy7T1GO45k0D3B/cgfgBAlfeJDqX+I5TZSAOWSDgsg6/Nap4G6FF43n3z2283TBU+q7yzNqApaas= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=jJDznWKm; arc=fail smtp.client-ip=40.107.162.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="jJDznWKm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jbvYhGFp1XGuI0DMOWse6m3BhaoQ2oh8yZaTVVxtSxRSAyUELwYnmhFwk1b8f01PGI+r3JaJUsapzmUDgBX+vatdqMin//MAwXow5fVf1NPl4+22UC98MeFKikiiayspDyoUP+pQ8Qw+trbGuUkdJ2cxV5gw2JrmHlWheGXzwfQGJfiQUg075+MVhQpr8ZaT9+uGJOUOtmemQKfsgv2bqeMrz7SeuyLDlP5w0eted0FowEhMjYdmKJIASVGkeJtyLgjqTCKxXus2tNjrrxzmhK3WPfsQyUgNgNCng+xSot00h+3uirwp8g5GYJ3tlA+v54VyQlDaJqSFUskVSrRCig== 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=2cMGSxa6ktWJdnMB15o56WjcLsA8Z1ybQc/EAffBaqo=; b=JqBIgTwZFjzTPUQNXpWFHB7kjAa6i14Gf8/JV+Re5eAHuwHVKECokNg4vJm5cratCuTcOPV5i1nJHk6tIOn4XpEYh89t95+0VBFRs0yy/7yIG3BQ5zAheyTnEBvybggJHmuWG33x8kn/r2zmE+N2+yxePA1sDzwzFw4COVlIh+uvh9dZui/QmrC92DBVFsn1xClsvLnZVDGIB9Gm9l/ytwTBPPnX23S5gr+A5hzvhrnsWZvXldwKZmkRxvnSf9m01T/Z/pCrXMuD+/7H94ZIIXnNoVAKgisFYfWWWnnzESMdAtSFQTpL0NnYs9wCqXjoVYFXTh1ZY8J0h4XDWaxZkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2cMGSxa6ktWJdnMB15o56WjcLsA8Z1ybQc/EAffBaqo=; b=jJDznWKmVaIwWpTmDhDrAIKmeq+HRgxqR1Rj9p3+h2Yay2DSOlCniRDgSsPYPXVkuFEjBEZqy4q+PsnGmZzNZ2Y6gilCRbvv9ju4T85M1unaXkxntXXNeXmbONeP9MD/HZfFDpRthqjO1GOPJ4Nx+piWNXD1KYiE4hPxxdJusuSPiHrKRSXBhzJJysc5NDw7ffj3v85DmZub8KS6/uHkWU6XvEDnoOZFhBiu0J+Q/pQMWTZi0+YLLUJUwLBvKWxoxahiZ8YJVPjqoeeIKuhJEZDr6u6V2KGv1hto/odP1VXtgVQc18l498NpTF/zuIBbggNZgNnx4Xp/uoip7nzuTQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:21 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:21 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:51 -0500 Subject: [PATCH v3 1/9] dmaengine: Add API to combine configuration and preparation (sg and single) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-1-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=7304; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=Wsp3uGnzxx0Wp3YeUhu72AainaVzttYYzmVBZXHB/VY=; b=TzJutTq/KRx8WJK3W2Jo5XkEj5741O0fPnb9egmDWz38bCxhWOZvXqAA68fx+kjjo0U0w7BWI 65bnHm6CrnqAeCoG3xF0R68ayg9JsG8NrlJYYDv2rt59iCiCGlmD6dp X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 65162cb0-7282-41db-d55b-08de4cac62f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VEpBQ2ZzaEFDY05pVlBXZXoxVVMrQnZOakE0REJDd2VXQ1ZLd21Cb2NGSkN0?= =?utf-8?B?NlFtSXo1eTV1QWZGUUU2SWtQekh1ZFREdTRmVzVlaGczcTU4eU1UaWZRSEc4?= =?utf-8?B?TzNkdW5ud3RrNkVUT21DMlZxMnhBYXlyWGlseTdraW52NCt2WHU2Rzd2WjBF?= =?utf-8?B?RnVXWlcyWFl1R2ZSMCtSQUx1SENINU9jcEhLbXJvY3RHQUY2bW1jbEF6Qkgx?= =?utf-8?B?bWtNeFZhU1NiS1JBMG9XMlhzVXRpRytld3pnVzlMcm80N0lzWmFGc2IvZkkr?= =?utf-8?B?YVhEQVcxemtrSU03MnYzNzFGMW8vWUIvTXFhZnNqL1pWT2lqNzJrdHdBWnh2?= =?utf-8?B?WW9zekQyODFLMlZ3QlNhbVI1SkU3N1NveWsyR253NlF5Y1JXcWpsRG1WRXpT?= =?utf-8?B?WFhwWGNlczJyU012TjY1Q2ZNSUpWT2p0dXpib3hoa3lERzlpdGw2WDRxaEZ4?= =?utf-8?B?ekhWdTlpaW5PRUFzaUl2VWdsQ0JFUFpIdmE3VUpKaVZXa1VlaXR4eHF1ditm?= =?utf-8?B?UEJ3R1k5V2JXZXVPaFVOSW45TjdxSDl1elljZ3JQbGhtWG9OdXdYY2N5NGhI?= =?utf-8?B?aUxGZ0ZaMnBpRTdaRDlmaU5ISlhobHREdGQvblNPR3hUNjBrdzhlRVp1bFRP?= =?utf-8?B?Y1lLM0t4c1g2V1ltU1FSSlVyNkxsdEVJN0pnZHk1cXRUN0s1azV2MUNFSDNs?= =?utf-8?B?RnZxZHFTdjN2MkRqMGsvRzdxbGNEUGpWM0NvSzV0MXZzZVY2RTlwVU1zTWEz?= =?utf-8?B?aEMyTzloSHlDWUhhYXU3N2NIL080NDVtc0U5RDBwK3EyRVN5L0tJR0pYVWpW?= =?utf-8?B?RThzdzdSdVZpNDRGMXhGSXA5RmJwZWJ5M1dQb2ErSDFMa2NOZENZRmNsaDZT?= =?utf-8?B?aHYyQnE0Y3VMQkdLWVRqaUZHSG1keW84NmhSNlpnRzF0UVJSMWM3T2JLNm5p?= =?utf-8?B?MG1uaEsvWHdTSHJhUUlld3NNMjBBZXVoM1pmSUMzaC9GanpkNWUxRnBMbEpF?= =?utf-8?B?WVg1dTA0UzVibmFlaUhJOWhwK09mVEs1K3M4UEhETUZTYzlYZCtyd3FDdmc2?= =?utf-8?B?K0JNT25uZHM0WjVYQ2VsZmNPbW5STjNONDhDTXdENUtYdVIzOWhvc3Y3bFRG?= =?utf-8?B?Zzl5OG5ZaXFzaVNqaDJEbElnZjZCUmVMMk9LaWpqMWRTaVJuTk5WeU45M1cz?= =?utf-8?B?R0JJbnU3aEtVeGlGdlVkRkZOYVRIRkhPRTNEMk9vQWtReStyRFBYNWRKVkEy?= =?utf-8?B?Qk1ZZm9EbnRHOHlHcHBFMlNNRGpJb2R6KzVlQmkzcGIrRFU0a0cwMTB5MGpO?= =?utf-8?B?K1BWeUNqaldNcUlHT01VMnM4N0U2MTUzamtvaWZ0U2JKbDZIak1PNVo4VHUx?= =?utf-8?B?TGxpMlJBK2o1UThEdDhNd1kxWEV0cU1taVh3dGpjdDBvaEZsWHMxQ1J0dXFN?= =?utf-8?B?UnhBOTIrQnZRS1dFb2lFNlN1WVgvREVjYWhOSUtBU2tQb1g4ekQ5RW5TMklQ?= =?utf-8?B?LzNCZTc1QVZCYUdqUFBuNDJpRHdqSml4UVI3bllnR2NtS0lseXpNQVlxbjhl?= =?utf-8?B?LzNtSTFObU1lSU96V2xqOVdGb2F1YmRON2tZT3kyblE3cjVyTzVBam1mUzRw?= =?utf-8?B?cHFSc2FpejVjNTVFOU9hdlUxNVAwQnJLVThpWUJ6UmU5bDBpVVJNY3EzRnNK?= =?utf-8?B?MjdDWHhkMzR1S1pneTBKNG9BWXlralpQVWJYVUpzYXJ3eFhSSEttUTNsZ2Z1?= =?utf-8?B?SHJRQkNpTVh5N1lxWTBtWnRlQXBNa2hsS1pSVVdCV1pnNEROK2JvOXpUM1hv?= =?utf-8?B?TjhZMjhzdklGYXNlZ2plWDN3ejh4KzNHYlFvZmVsZytvV01ZcVoraUpKMDZ0?= =?utf-8?B?U214OGF0VWlTb2lYRWVieFkxYmdCZEM2NWlnWnNkanBDSGRrb0JRek1tY0NK?= =?utf-8?B?bHhhY0JEY3NQekpvbFkzYTJKeDhCZURPZU83ZWpLWlgwc1pHNXEwTzdxNGtQ?= =?utf-8?B?eU1zaVh0S1lEN3dLMmVPT3c0MmtzbXNtNTgyVjlZUllQdEswbkNha0RsMVRS?= =?utf-8?B?RVVLanVrTXRrWkZKNkxjdzdqT3YzYnh1V1NJdz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?blVUaVZwM0lUTkdDMC9YRnRXT2swM0VTSjdrdkZOeTlNYTdOSkx3QUY4MkF4?= =?utf-8?B?L2s0TFhqd2pUR3NBRURHYlNPczBtSi92TzJuRUlZNEE2a0g2R2lWZ2ZYb0tJ?= =?utf-8?B?VEk3a0VubjNnYmJHVTBkYmhNcGdNd2pTT3U0S09nNkRuYkxUSVNoQkhVMC80?= =?utf-8?B?MjVkRFFQeHlMcDV6UGwrMWV0a09DNUtHdlRxNjg3SS9VTlRqSGduMzlpUExy?= =?utf-8?B?dHdwVEtWR2tFalplSmY4alJKRE02KzlNSytBRDEvYUdNK2U4dGJmdU1FR2RG?= =?utf-8?B?akY2aDR4di9NMzE5b3Nvb2VsOTJ6VmZkSW1JTVZScnc2d0ZwMWtoYThEUVhH?= =?utf-8?B?TkxaTHdWa2Y4bXNOV3JJcGVEK2YzVTdBWm82VHVjK3FvblFjYmdWWHhENFJi?= =?utf-8?B?TGtBZ3JqdXMzNDFtR212MlMrbkkvU0dzV3hwTUUyNXlaV1dEUjV4cGJwZ0Fk?= =?utf-8?B?WWdZaVNwNEJVbWQ3MXIzUTZUbVdveVlJaUx1cXpzYzBDa25NUHllV3N5SzNi?= =?utf-8?B?azlxVHBEM1BXaElrSnhUTkpWQ2E1b09BTVhzOXZrNVFKVm0rdTdlUUVJZXNz?= =?utf-8?B?M1Q1NEhrWnRGbEhxVm9sbTRHVlk4Y2ZlcE1aTjBDVCtHaGV4akZNajFsRkdq?= =?utf-8?B?UTFQQjJrenV3ZWI1Z2tHdkIwK1hDNjl2VXgwa0VIdUdIa1RUTURGTGNiSnVQ?= =?utf-8?B?QnNVeVZkNWJZYVBBZVdiSDJyQ0tnUXFRa2hpY0l1N05raXd5MU5XaTBOUTdR?= =?utf-8?B?a1pwd0pHcjZQKzZRSHJPZmE2WlZtNTAvRmdLRGhKVjJXQmNVUW9HQlVldno0?= =?utf-8?B?SVhvRWlqc0hWcmtKS1V4L1o5SkpyK3ZLdjE4SUwzVzBYNUNZR3FySWtIZHd1?= =?utf-8?B?b09GY0ZxbGJDclZWQU5aeHBreUZJODBOMUNiTDJHVDc0R013aVFBV29NK3c4?= =?utf-8?B?dzBXVTdZNERtMVQzN3hoRmlpczA4NUYzcm5JakJOSzVDSEdGODNocWJxZzdk?= =?utf-8?B?MUlETlArYnVMcTcwaXNjbUprdUlJREJHN1FCTWFvaFdTeHR3YmZ3SmJGNENE?= =?utf-8?B?dExVRHZVMnJaNDlRM21Vd0VLclh4ODdyLzNBVjVyUXRRSWtLcXkxSTFhUEtF?= =?utf-8?B?aTJJOHNpckw2UkhqdWRHNTVCajJWblJreGRYTXp3U2Mvem9NeUE0OXEyTnJw?= =?utf-8?B?Ly9MU0ZWc0E4S0drcGc4amVPNDB3Rzc2MWZWWFM3MFZIYUtFZjBrMnF0eWE0?= =?utf-8?B?dkFheDZYRW9KVGtjcGh6NVBYQ24rbkdWNGZQU2J5MTEyNndUTDJzL2FXeFJG?= =?utf-8?B?UHg3Z0kyNTJrVWtkVWZxQjRab3RzR2hXUHNEd0pQRUxyZE1PMWgvM21GalUx?= =?utf-8?B?YnlJNHkrR0tPdXZFL3lhWlEzbStuTmlTRTBWMHZRZ3VpUThKUEJpWTBSZ2l4?= =?utf-8?B?VjZpNG5RNllzbVNrdjI1UlNEemoydHNXQlp5cFBrUkdXampNd3RhSUJSZzdY?= =?utf-8?B?SkRCNCtzenJaZFVZZE5HR2JNdVBYWi96K2VZbytKNml6ZFBjVTFCM3RSNTht?= =?utf-8?B?b0FDUkRqRlZtZkFSWnFrUGQ3UDFIaG02L2tyOVhEM1lRc0hQTGt0ZjQzYW1v?= =?utf-8?B?ejJsU2JhczFLY1JjM3VXd2EzSVU0bkY0RFA0bWVqMjYxWDlOU0VmQVYzK2h0?= =?utf-8?B?UDFvQ01UUzlGOExVYnZrWmRZTUgxSC9qSHYvQys4cldRQ3pJZkE5WG1OajR4?= =?utf-8?B?UUVEQ1ZYYzQvVytRK2lpUUFJeUVWSFBzTjh4RUhVekNmM1RPaGczWkdsa0p3?= =?utf-8?B?M0JpNWJ6aG5JWmNuT1o0ZGtJbjRHVjRMeVNKMVdkWHNnUFVpdGlNb09qVWRB?= =?utf-8?B?RWVvOWlHT0ZQSVVCeEw1cllxNFF0WkpnWnk2YmtFVjdrQkF0anNBQlNtZUVH?= =?utf-8?B?YTZMYXNDSkFSRDl0U1M3ZGRMUDhaaERKWm1TQkJNTzFEVXo5V1dEQWR1cy9J?= =?utf-8?B?TXQwNGNmSXYwZTRxTmdHTlVSdmpET2xMSFAxdDZSQ01qOGc4Zk5HM2RxMElO?= =?utf-8?B?L1hITXBIa296OS9lMnZqU0JwY2kzZ292d0xNK3RMMFBlNWp2Y3NnaTUrYlNm?= =?utf-8?B?Wm5FbFUrSjZ6eXdmQnFsNXIyQVUxNldRSVJ3d2QrSkxkK0NOckVydzVjcXhn?= =?utf-8?B?a2dWTnlIeXhwZnM0cW1VaGwxdFd1WFpFMTNTbmFBQmUyN3dMc21ndFRiTjY5?= =?utf-8?B?ZDNGcnNtd3BnTG95WWZKQlJGVUlRMEJCSTUvK2R2OW94NWpXM2hqYUl2WVZM?= =?utf-8?B?SVZCNU5LL0FycjQxZnVrWFBiYnBsenlIYlRITGI2VzRnVk1iaUNMUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65162cb0-7282-41db-d55b-08de4cac62f2 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:21.2404 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UxDO0r1SOLbqIKRYYu0iRSc1JJQfb7qa6Cj0niHA2R9uaYY8ByExsWRda63y2fBQo+xDvs2htgtiGTChSzpV8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Previously, configuration and preparation required two separate calls. This works well when configuration is done only once during initialization. However, in cases where the burst length or source/destination address must be adjusted for each transfer, calling two functions is verbose and requires additional locking to ensure both steps complete atomically. Add a new API dmaengine_prep_config_single() and dmaengine_prep_config_sg() and callback device_prep_config_sg() that combines configuration and preparation into a single operation. If the configuration argument is passed as NULL, fall back to the existing implementation. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- change in v3 - remove Deprecated for callback device_prep_slave_sg(). - Move condition check before sg init. - split function at return type. - move safe version to next patch change in v2 - add () for function - use short name device_prep_sg(), remove "slave" and "config". the 'slave' is reduntant. after remove slave, the function name is difference existed one, so remove _config suffix. --- Documentation/driver-api/dmaengine/client.rst | 9 ++++ include/linux/dmaengine.h | 64 +++++++++++++++++++++++= ---- 2 files changed, 65 insertions(+), 8 deletions(-) diff --git a/Documentation/driver-api/dmaengine/client.rst b/Documentation/= driver-api/dmaengine/client.rst index d491e385d61a98b8a804cd823caf254a2dc62cf4..5ee5d4a3596dd986b02f1bce307= 8ca6c4c1fb45a 100644 --- a/Documentation/driver-api/dmaengine/client.rst +++ b/Documentation/driver-api/dmaengine/client.rst @@ -80,6 +80,10 @@ The details of these operations are: =20 - slave_sg: DMA a list of scatter gather buffers from/to a peripheral =20 + - config_sg: Similar with slave_sg, just pass down dma_slave_config + struct to avoid calling dmaengine_slave_config() every time adjusting = the + burst length or the FIFO address is needed. + - peripheral_dma_vec: DMA an array of scatter gather buffers from/to a peripheral. Similar to slave_sg, but uses an array of dma_vec structures instead of a scatterlist. @@ -106,6 +110,11 @@ The details of these operations are: unsigned int sg_len, enum dma_data_direction direction, unsigned long flags); =20 + struct dma_async_tx_descriptor *dmaengine_prep_config_sg( + struct dma_chan *chan, struct scatterlist *sgl, + unsigned int sg_len, enum dma_transfer_direction dir, + unsigned long flags, struct dma_slave_config *config); + struct dma_async_tx_descriptor *dmaengine_prep_peripheral_dma_vec( struct dma_chan *chan, const struct dma_vec *vecs, size_t nents, enum dma_data_direction direction, diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..4994236aaadc45dbda260b63abe= 1fef47aa3d51e 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -835,6 +835,7 @@ struct dma_filter { * where the address and size of each segment is located in one entry of * the dma_vec array. * @device_prep_slave_sg: prepares a slave dma operation + * @device_prep_config_sg: prepares a slave DMA operation with dma_slave_c= onfig * @device_prep_dma_cyclic: prepare a cyclic dma operation suitable for au= dio. * The function takes a buffer of size buf_len. The callback function will * be called after period_len bytes have been transferred. @@ -934,6 +935,11 @@ struct dma_device { struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, enum dma_transfer_direction direction, unsigned long flags, void *context); + struct dma_async_tx_descriptor *(*device_prep_config_sg)( + struct dma_chan *chan, struct scatterlist *sgl, + unsigned int sg_len, enum dma_transfer_direction direction, + unsigned long flags, struct dma_slave_config *config, + void *context); struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, @@ -974,22 +980,44 @@ static inline bool is_slave_direction(enum dma_transf= er_direction direction) (direction =3D=3D DMA_DEV_TO_DEV); } =20 -static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( - struct dma_chan *chan, dma_addr_t buf, size_t len, - enum dma_transfer_direction dir, unsigned long flags) +static inline struct dma_async_tx_descriptor * +dmaengine_prep_config_single(struct dma_chan *chan, dma_addr_t buf, size_t= len, + enum dma_transfer_direction dir, + unsigned long flags, + struct dma_slave_config *config) { struct scatterlist sg; + + if (!chan || !chan->device) + return NULL; + sg_init_table(&sg, 1); sg_dma_address(&sg) =3D buf; sg_dma_len(&sg) =3D len; =20 - if (!chan || !chan->device || !chan->device->device_prep_slave_sg) + if (chan->device->device_prep_config_sg) + return chan->device->device_prep_config_sg(chan, &sg, 1, dir, + flags, config, NULL); + + if (config) + if (dmaengine_slave_config(chan, config)) + return NULL; + + if (!chan->device->device_prep_slave_sg) return NULL; =20 return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags, NULL); } =20 +static inline struct dma_async_tx_descriptor * +dmaengine_prep_slave_single(struct dma_chan *chan, dma_addr_t buf, size_t = len, + enum dma_transfer_direction dir, + unsigned long flags) +{ + return dmaengine_prep_config_single(chan, buf, len, dir, flags, NULL); +} + /** * dmaengine_prep_peripheral_dma_vec() - Prepare a DMA scatter-gather desc= riptor * @chan: The channel to be used for this descriptor @@ -1009,17 +1037,37 @@ static inline struct dma_async_tx_descriptor *dmaen= gine_prep_peripheral_dma_vec( dir, flags); } =20 -static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( - struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, - enum dma_transfer_direction dir, unsigned long flags) +static inline struct dma_async_tx_descriptor * +dmaengine_prep_config_sg(struct dma_chan *chan, struct scatterlist *sgl, + unsigned int sg_len, enum dma_transfer_direction dir, + unsigned long flags, struct dma_slave_config *config) { - if (!chan || !chan->device || !chan->device->device_prep_slave_sg) + if (!chan || !chan->device) + return NULL; + + if (chan->device->device_prep_config_sg) + return chan->device->device_prep_config_sg(chan, sgl, sg_len, + dir, flags, config, NULL); + + if (config) + if (dmaengine_slave_config(chan, config)) + return NULL; + + if (!chan->device->device_prep_slave_sg) return NULL; =20 return chan->device->device_prep_slave_sg(chan, sgl, sg_len, dir, flags, NULL); } =20 +static inline struct dma_async_tx_descriptor * +dmaengine_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, + unsigned int sg_len, enum dma_transfer_direction dir, + unsigned long flags) +{ + return dmaengine_prep_config_sg(chan, sgl, sg_len, dir, flags, NULL); +} + #ifdef CONFIG_RAPIDIO_DMA_ENGINE struct rio_dma_ext; static inline struct dma_async_tx_descriptor *dmaengine_prep_rio_sg( --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013013.outbound.protection.outlook.com [40.107.162.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DACC30C62B; Mon, 5 Jan 2026 22:47:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.13 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653251; cv=fail; b=DJH6VWrGS+ByWs3N2yN7oglerwSVjnLmilCtAPKEWrQYx3IpWJYFTlIonuoK6Qea0nIig+QJsKgyupfQCqrfAIvjZs2edXCN8d4k1ol7BHwhEwzxfyogMk50K1zjMdc/IV/Gp6aWzpOz+xm/w8fAxCQQhV0kF2VMudeGVtM9hqQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653251; c=relaxed/simple; bh=IhbjoaTN4TKmpikqq/9QhuWJkb0HuUKcb8ZGdXj8Maw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=dRrJP0sDcUTpofHFA29IapTTw5HntD64YMlmvtYAYjEn3SF3hXhAlih/zniGkQtb+8xlISdlUFBkM8tq7EY95d5c2wUAqf2pKiLcdERJX5OuBqWcqQv3aAEmuF46bL17M7z7xQ50yNRDxMykV78Zb0UW8fw4TozN/0nRbRXuIZQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=gRxPmbeA; arc=fail smtp.client-ip=40.107.162.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="gRxPmbeA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Nib28xgpaX6LQjq8X2B6J7dmb8KYi8nhIiUgrufzIV9H30ACIbVgRYkSoZbg3AVt4+6hYwMFw1nf/p4nya17cOP4yC3NOvTaMMqVERoYb2WbGjVH97/jmprAucewPezydt9X6SostsIjJxt4M1CJozbnn5S54F3fNBKV4wFZNzHmbs++CpCRCMKsRaICZ29MMaqHMnBLq3g09QCsO+IBuGygw1sQGIa1gPD0HfQQJpzwn62gklq1+nX4KjzWMDwuvFkESQxgsOjDkMy2wT1xlCH3gOpZ+dHJDjB5ZIMwXaYLymyapm5meb+xjiDoTJHAFOxMblFa7XqZo6H68Gd/+g== 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=/YJQfC91EGCdxB0Sjnqfp644zGwV9WEsFDpUivQKzPM=; b=c28iMehuIsTTJ+PxXQLEQ5eLIaNk6HrMLvsB3/fONDUSz8SIUO0Aei5GCmn6bbYF9GTxlEPCz/YLrq2Ug6ahcYiqmSf8Kmln8sQgyVKMfcyT9rvlonxhwqOZ4E40WK1tn83xG90PbI3bNECFx+cwj4mVZJ/6n8wBMht4XS6yhr0itgQg3lytLf0v5ka5yatwtYKUi/zLCQNY5nEUXx6xiVuPOzuSiMrur67JTMaBV+8bD4/TBtgXtUtQrlkyO3oXVXif5VrKqhRfTernCIN+oRM0XN4dU+S0yckRBJ7papbbF6uPyS2ppqxMH8rXufcRD5Tg5gDxNA/nD7zGwuIHGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/YJQfC91EGCdxB0Sjnqfp644zGwV9WEsFDpUivQKzPM=; b=gRxPmbeAuSBYOMEQAa/TT/g5qsc/nj51PnbkXRWa0lLHzAzRDFnsGUz/C3dPNboBzhmXUs+TBhr2qnPSXqJjNrRz7H9S83EiP5U1cZkdyEa747Wnr1Gon2m1rwyLduOrh0AsFuOZ0IVANLi9fYn3cnfMoBOCOGVG/Y18iugy4qS2amp3i2cOKHn6r9hRpcJprJBPZ92+wlpkJ2+PcBPbX1CAuOIp28MiGe2csDsjOVgHIM5pW69tLO1WI+bayDvrdiL8OZ8E2CMTNDpoCOIGcS+LsOeQpP5m4OmPPMp5099QuIP+o1ArwBkm6BEFu+we7gHXhkP6gnv3i3BJYEPTgg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:27 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:27 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:52 -0500 Subject: [PATCH v3 2/9] dmaengine: Add safe API to combine configuration and preparation Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-2-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=4406; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=IhbjoaTN4TKmpikqq/9QhuWJkb0HuUKcb8ZGdXj8Maw=; b=ZKg1b8sadxFt/bWLSxYOoddep0607yg48HyrnBswfpnSZ1/6grlllNsbdeO42dwC1LU1qe/LG cKNlI12aJgAB1zztg1ZPuDQ9cV8nHm1kJUCDF9g/ydjqjnL6IQnrGV0 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 512fe81b-991e-4287-a35a-08de4cac665e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YzM4Y1RnMG9oMWg4MmZMd0F4MFpSNm40UmRtTXpzbW5CY1RXY1VuTWQzM2NY?= =?utf-8?B?VTROM0wxL2NrbE1CTnIra2dObDhhYWNoanRTS3pDSFBPaEV0TlRZMTdRSldZ?= =?utf-8?B?SEV2dUdHMXE3d0E2UDRibWZIK2dsVVZURkVhVkVaSzNhSitlMmFXUHc3QVcv?= =?utf-8?B?c0J4Z2haZzVSNndmakxKZEFRZUUwSWNHcDZQeUpDVHJsekNIaHJ0bGIrbHVq?= =?utf-8?B?SHFCMmRBK0hoWE1sRm1JNDRBSG5NNHppM3FudCtVTmxvdE9NWVgramZpWk40?= =?utf-8?B?bXYwSGFpNzJ6Z1gxY0N3c29zOThMYkg2RjJJQi9TSytxN3R5ZWRCWDNEa0lk?= =?utf-8?B?SDl3T2I4NzdSWkNRN2djdUVPRU1UNWhGdnJoOXZyNURTb0dOc0ZvbnBOZTcz?= =?utf-8?B?SjNiR0pqbkVpVUFac29RQ2tqdWhUUnJYTjRkT2JnUzMrNE5scXkzS1Q1bTVW?= =?utf-8?B?YVhSV0VRVW5lbEF1TEo3V1BtWk5MdW4vckRhQ2JEV1JDL1d2RTZ3L1Q2RnMv?= =?utf-8?B?OGttSUFLTW5mVzVzdnRsRkVDT2NXQWJRdWZlSjVVNVNub0J6MlFKaDhUN2Zv?= =?utf-8?B?TDFMRjcxTWtNVGx4NFNwUzNBMkFJSHFhbCtwWkZKVUtPZmpvbTNxT1ptcWRU?= =?utf-8?B?ZUpLRGhxSGpqRTRHSnVDVWMybmhQTnNHTmxSbDBLV2MrWjJFTjBCT1ltTmZj?= =?utf-8?B?YjNYdkM3dzFqb3htb0NuenAwbUg0ODFCTy9hS3U3cTJvd3NmNmFndVZJRFVn?= =?utf-8?B?VnNKckc1MWlYMzlqdnpxTHBMRHZxcmJqcm1IODhnWlNsd0owZ011ZFVLQnQy?= =?utf-8?B?N2RYVUR3WXMwN1p0UlJYL2U5STY0Vjg1MU55MytHVmVhbnh4MzUwS0I3U1Ru?= =?utf-8?B?SE52UVcxcTE2MkJTd3hwWGdZYUxOTm0vVk5nNnJ5dnp1clo1Q1pQYUhVWUtM?= =?utf-8?B?OEFNYjdNY3hwM0xTOWFlNHl5bGlwSlgrTituc0gzaEFzeE5yZERrMFJMQjhk?= =?utf-8?B?RHBuaXVwaDc5eHZsclJseC8xaERaVVJRL2dWbUdyTkFwWEJnY1BwSHlKK0cw?= =?utf-8?B?eW5ndzBSOCtPZHhjZDg4TDFiaVpQV2pjVE1KV0Qwd2lCTWQ5Q0FWUkU0VkRR?= =?utf-8?B?SXkxbjlWMG1tU2ROaE82eHBRRUh2TlE3WXpSZFRpOEZ2Q1ZIZHJiTGpZTjZE?= =?utf-8?B?U1JmU0ZvOWxmQTJqa2pOU3RUVEtITG02NVhGRzJoMDU1N0dCUlY0d1RQZVph?= =?utf-8?B?WVZJZHF5S0JYblRZTFFkWHA4MEtRUkJBRXEwZ0hyZ2YwNkxkY0FQc3JYUU9p?= =?utf-8?B?Yk8wcXNMVXFLSHcza0IvemE4RVdJczJ5NU4zcTcxSUhpT1dia3g2dmRhK1ZM?= =?utf-8?B?bUsrTjQ5bExMSFJEb0g5VmxwRDc4MDhiR0VmYStGVEpmS0ZYdDRpT3lzN2tJ?= =?utf-8?B?d0dRemdsWkoxRWJacmNiR0hjaTdCODRHbnYwRW9VaHl4T0ZOaWpncHhVTE5h?= =?utf-8?B?SnlmbzdZdHBudjdZaWxGWmFOUlRMZUhneXNDU3BLVUhWQ1dCbW42WnRYQVl1?= =?utf-8?B?cHJ3SzZxOGhaaEE0N2pwdXdETVNoaG5GTzNNZElNKzlCd1c0ZHpJYTd0Z1FM?= =?utf-8?B?ci9hY2ZhcEg4a3NtbEI4WS9JOGFZOHFIUTEyaGF4aWFhK3hBN3M1TFNFSTZ2?= =?utf-8?B?UmdKTUthcEtacGZ1Qm9YSDhIWVFXZ255ZlAyN1doTWwvckwvdEl4U09vOTdm?= =?utf-8?B?VGpsNHpTT05sQ2lwcGVWbWlwYkplNWU4anA2WlNhaU5JTUMxV1I3aVcwa1M5?= =?utf-8?B?K0RyWEJ0RVR2QlR2QkNTRSt5Ty9lOVNSMFhLditrNWpSZHFLWWFEQVdJb0cv?= =?utf-8?B?dkdSRW5QR1JYWW4wQkUyTFpQV3dPb0h6bGFNaS9yZlFoYTRiU21wYXZNOVJ3?= =?utf-8?B?Wk9JcDdsd2NQR0ZNcEpZblVLbDlFckNKOTRCc2JqcTdJc0hhZzFXT0lSU25i?= =?utf-8?B?Tk9id3d4dnZCVmErZGxlZXJzbTIzc0tVRWYrOW4zMWh1TmIvSnVHY0I1Nk5M?= =?utf-8?B?UWVFd1hwaUJTMHcwTDFvajZXdzQwWGRRbUtNZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YktnR0Z3TCtqKzNiY00vY0NmSnkycmIxM2RLVkdpT0JRZ1MwZUFOU2EvWGow?= =?utf-8?B?L1hrdFhEcXBBVXlCUGx5NEdnalZJaFUzOWJVTitKQ005SUJqV1o2RFZEQXJG?= =?utf-8?B?L1h2NzY3bHdMRmpvZVM0eFlud2dXWFFtbURRQXJVbXdUR2txODZ4cmtDcS95?= =?utf-8?B?dll3TUROTTQwT212ZFJKTEJmeU84YmJkRVJxWWoxeFZFUllmM2gzNmdCQitn?= =?utf-8?B?TWxFUVFrTlJiakhSWUFLQ2RRY3dRRktxUjdBQzBDbHd0UmxaK0hiam85Uk5J?= =?utf-8?B?MXZ3YXdJTEhJcy9wUm81WXh4WTF0YVNNQmc0KzVRZzlDc1gvK1RwOVNVMXZS?= =?utf-8?B?YS9KZ3MzWlFsaWRYcXVZRFRCcVY0QmVqeUh4Vnd0QVNrZFJKR2V3RGFWV0h4?= =?utf-8?B?ODNEdDc3eVJmMjJyaXFvRFBiQ2NFWCszYit0NVluOUQxcFBTZWJZaHN6SWNm?= =?utf-8?B?UGpWY1hiRE1VaFkwc29pdHkvejAwVnBsK1JTQVZQZzMxclRnMjFobyt4bGlm?= =?utf-8?B?VEY4U1hoZ013RVF3eUhUMlVWNjF3K2w4MlJRVjFqY01HZ04zZFRidFFHTk9w?= =?utf-8?B?MU5jRW14WkhjMFg3YkQ0MkdDV1VvUUpXMzZpUU1iWll6YUdEL005ZGJGWHRl?= =?utf-8?B?Q3NXdUNJMmxDM05mcDdPWTJhYllmczAyUzkzMjZoVUZqVjB0RTBudXB0MnZi?= =?utf-8?B?U3p2bzJCU3I5R0hyNkE3SVdmVXg5ZzJwYmNVL25qZkNkUXBzZVUwTHgrQkk2?= =?utf-8?B?bXZ1YWN3dDNPTWNkcVRjZEh2WUtyT1JseGJaSE80VmpyYm1CdFpneDdlY1FT?= =?utf-8?B?MHJiRXFOUEFlZC9mQ09DOU9yK2o0cW0zQVU4ZWRiZDViUGVUS2FLM0o2Q0Vs?= =?utf-8?B?T01zUHZ5cXBKRWUxdkFDSGNWOTZTeW53M2NyU2ZhY3oyZGRZWXROR3RxZU5w?= =?utf-8?B?MTRkOVlmbmo4SjN1VjE3aloyMExuRjc4aXFBRkplUXhoajhTb2pMSDhNZjNL?= =?utf-8?B?bTNLRWoxeHVGY2lDd3FFVUcxN3pVQWYraTA0WExHMndQRndkK3NLdjJMY2Vn?= =?utf-8?B?a2RER0pDbTdOaEcrTWY4MlFQREhIejdaKzcybXNlYUdxdXBZb2orTFhScVZV?= =?utf-8?B?SzVYVmEwYjhtU1NubDdlZkxLaFNmZ3I5N041czhDaUE1cDNhaldWUDl1dVA4?= =?utf-8?B?TkdKRWYyKzgwMW5FZUc0bzJZbXhDTklKOC92ZDliYVczTXUxM2QyMmZtcU45?= =?utf-8?B?K0M0amFBczVOMnA2Q0czbUE5OHNMblZxU01GRkRud2dINHhWcXZqdzMvNkFD?= =?utf-8?B?bjI5T1A5TU43RElxeHhlOE56UlBBUWF6NnBqNGRyQlVETmFSczJyZi9BQURJ?= =?utf-8?B?UXdJOHA0RVQvMWVvU3NxKzBJdU9wNjA2WGJtUG1hQ0crZitMWWI2NHZyRFdH?= =?utf-8?B?ZGFrRlNoRUVicE9xOWhZMlp1U1RXSG4ySEpDVWRFQUJKSDZRdzR4N21kQzBt?= =?utf-8?B?bmhJeUtVQ0hrN1FnazZCcVE0SzhBR3lsR3VUSVVtTVQ1dk5vS25yNzhMNXBK?= =?utf-8?B?QnJVRWcrR2FZd0c1b3BJV05JMnl5SVJNczNNK1JkSkxpNW9Mdnd0UXZyQWZS?= =?utf-8?B?bzBlcCtNT05ScUs5T2dnem9iUXppRllJUVl1dk5QYWRvTktpOW5ENDZUdXVC?= =?utf-8?B?QU1uUFJJU0FhOERTcXBQdms3SVdmdWFZQkwyQ1N0djRRYmtVMHVEN2lOUjlH?= =?utf-8?B?SGdyMFlpcXFMZjFkNXpnNFZsMzVBYU9rTnEzNnd2ZURwRklkNmc1YS9EVHRs?= =?utf-8?B?U0tkSFJKVkVnQU9ncE5qOUhGb1NyZit1Wk44bVNLZWVDZDJTcUVVSU5zK3kx?= =?utf-8?B?bHZDTk01YWZBYWxXM0hCUCsvVU1ES0ZjR0R5dDdhNDByR3JGTWV0cGtVOHpZ?= =?utf-8?B?TVdpdEJTOVlBK3BaS01UZEI5MjJzUFhSc0V4QlZMYitlS09WV2g2cDVEeUgz?= =?utf-8?B?ZFV5WjNWTDhOd2xiRmhvTHNIclRNNkp5T2ZSWmRtamVHblNEWlhRUmZLTE9y?= =?utf-8?B?cEZDaTY1a0tMREZrV3p6WU9ObkRTNVJxcVZwOWtJWHRjRVFRUXhtenAra215?= =?utf-8?B?cDJVMm9CWVo4a1JFRjZkcDRRSVQrTXRQRGNKV2ZaRHlRNktJRytNWXZqNGhl?= =?utf-8?B?cHhVOXNNTzBpRjlGdUZsRkVhd1hCQ2llcG0xa1M3dUhWcUJ3Mk91ZVdlNVRY?= =?utf-8?B?NmQ2c1NEQkl6dTVrcTlqTDBCTWp0dUVZNzBMTjBrcUkwMkVjYUkrQlIzTjRN?= =?utf-8?B?NnF6M3ZQYmV3bFNkcTI3WmdWZVBnNTVPZ0FBK2o5dVVENlFHcHY3UT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 512fe81b-991e-4287-a35a-08de4cac665e X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:26.9698 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5nOKDpMYfFXLysA9c8kO2X/BMuUxSVrHCg0yQpKXmF376HWYRddHNZef9+2NX69aEY+7R9s4W7ghEp6Gxwyhgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Introduce dmaengine_prep_config_single_safe() and dmaengine_prep_config_sg_safe() to provide a reentrant-safe way to combine slave configuration and transfer preparation. Drivers may implement the new device_prep_config_sg() callback to perform both steps atomically. If the callback is not provided, the helpers fall back to calling dmaengine_slave_config() followed by dmaengine_prep_slave_sg() under per-channel mutex protection. Signed-off-by: Frank Li --- change in v3 - new patch --- drivers/dma/dmaengine.c | 3 +++ include/linux/dmaengine.h | 53 +++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 56 insertions(+) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index ca13cd39330ba4d822baaab412356a166b656350..53116300e61078ca89e78109bcf= 24a5f8c7e3369 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -1097,6 +1097,8 @@ static int __dma_async_device_channel_register(struct= dma_device *device, chan->dev->device.parent =3D device->dev; chan->dev->chan =3D chan; chan->dev->dev_id =3D device->dev_id; + mutex_init(&chan->lock); + if (!name) dev_set_name(&chan->dev->device, "dma%dchan%d", device->dev_id, chan->ch= an_id); else @@ -1147,6 +1149,7 @@ static void __dma_async_device_channel_unregister(str= uct dma_device *device, device->chancnt--; chan->dev->chan =3D NULL; mutex_unlock(&dma_list_mutex); + mutex_destroy(&chan->lock); ida_free(&device->chan_ida, chan->chan_id); device_unregister(&chan->dev->device); free_percpu(chan->local); diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 4994236aaadc45dbda260b63abe1fef47aa3d51e..abb4a7424a0083c00730a945c1c= b645f831fbd6f 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -322,6 +322,8 @@ struct dma_router { * @slave: ptr to the device using this channel * @cookie: last cookie value returned to client * @completed_cookie: last completed cookie for this channel + * @lock: protect between config and prepare transfer when driver have not + * implemented callback device_prep_config_sg(). * @chan_id: channel ID for sysfs * @dev: class device for sysfs * @name: backlink name for sysfs @@ -340,6 +342,7 @@ struct dma_chan { struct device *slave; dma_cookie_t cookie; dma_cookie_t completed_cookie; + struct mutex lock; /* protect between config and prepare transfer */ =20 /* sysfs */ int chan_id; @@ -1068,6 +1071,56 @@ dmaengine_prep_slave_sg(struct dma_chan *chan, struc= t scatterlist *sgl, return dmaengine_prep_config_sg(chan, sgl, sg_len, dir, flags, NULL); } =20 +/* + * dmaengine_prep_config_single(sg)_safe() is re-entrant version. + * + * The unsafe variant (without the _safe suffix) falls back to calling + * dmaengine_slave_config() and dmaengine_prep_slave_sg() separately. + * In this case, additional locking may be required, depending on the + * DMA consumer's usage. + * + * If dmaengine driver have not implemented call back device_prep_config_s= g() + * safe version use per-channel mutex to protect call dmaengine_slave_conf= ig() + * and dmaengine_prep_slave_sg(). + */ +static inline struct dma_async_tx_descriptor * +dmaengine_prep_config_sg_safe(struct dma_chan *chan, struct scatterlist *s= gl, + unsigned int sg_len, + enum dma_transfer_direction dir, + unsigned long flags, + struct dma_slave_config *config) +{ + struct dma_async_tx_descriptor *tx; + + if (!chan || !chan->device) + return NULL; + + if (!chan->device->device_prep_config_sg) + mutex_lock(&chan->lock); + + tx =3D dmaengine_prep_config_sg(chan, sgl, sg_len, dir, flags, config); + + if (!chan->device->device_prep_config_sg) + mutex_unlock(&chan->lock); + + return tx; +} + +static inline struct dma_async_tx_descriptor * +dmaengine_prep_config_single_safe(struct dma_chan *chan, dma_addr_t buf, + size_t len, enum dma_transfer_direction dir, + unsigned long flags, + struct dma_slave_config *config) +{ + struct scatterlist sg; + + sg_init_table(&sg, 1); + sg_dma_address(&sg) =3D buf; + sg_dma_len(&sg) =3D len; + + return dmaengine_prep_config_sg_safe(chan, &sg, 1, dir, flags, config); +} + #ifdef CONFIG_RAPIDIO_DMA_ENGINE struct rio_dma_ext; static inline struct dma_async_tx_descriptor *dmaengine_prep_rio_sg( --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012010.outbound.protection.outlook.com [52.101.66.10]) (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 5EFD02D8771; Mon, 5 Jan 2026 22:47:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653257; cv=fail; b=mbOWOkZcEm6h3921ZZzR/GRfPWUef/ADwsK525SN2239CTTjftAlVwEOhJVVccf2E/RDo6MqE1SmdhTh5PdV6i6urROD0+i6WpuPiUz76b0bG25V4Pa4vZLdYHbMP3uyBBn/HCfpXqtg4N0LneCl3mKtkiPcOoppvqmTzI8rHhU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653257; c=relaxed/simple; bh=THRhOrJebwYHSrLzHvW6aplke/njcscVbZWhunSBdVc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=pk+P0MwKhzI7G+bSZMUZsGwxjXTfKCuokDN5JMOkkUu6/0CQZ0loGCFBivcCZh+1OChZfSTW6iTRgBEWP9n9aiabBiESu1qYDPp+9oAwMA5ZRaE6u3f+l0YzgzDW0VvZGoPZO8rmFoQFS6iGlCjAskLESqc+K/mAsCaCTN5TzG0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=FqG2PhnG; arc=fail smtp.client-ip=52.101.66.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="FqG2PhnG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=igTo9WeVM9KubfB+pZ7NmSdJ6MKN2OBh1aKXa5h38lHNwIOOY22vx2/AdrlA6S2mqtm091yNRK40zeTOLJG1W9dKpQYeFrKVa/JP1JYbnYnuYNTiFnMuqtY0KzySkcx+nkpszYeDkDh/3GVzS5iJFlSu8Eeyf5NZ+Ab+rYdeDl/S/sxWNXaVzqYxxWaYXwd3QJAGRQVmUUqIQy4635gSic2ygvKr4XWEhPKTeJidupOf6nplh4GVDDjXpqdxBJaOWtl38Re1DDpLrGO7UeHFtdt8Ydz/7Amd4PunXNjMZUoopy5gR1TyZRNsinGE+sWEEH2Gsj9WInBFWW3ZHK5HOw== 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=k1vgw36m+gbTDl6gUiBeTihu6+nCkaeii4/Dble4OKo=; b=rtwsvTSwQ/c2m0xrkzNXRSGJ+oncVVpPlUYm+Y3CPDZlj79fnuraLIEnl4F75e6zShwdE/zsg5Yg+j9YEZ9gJrP0XaQTayiyAJ/OpeCFHAQo7Mo19FhFNsZ1wAYP28yY+SN6GflPDywyPwfrV5fWS1mDL0wjLqUob0UsigTQXzaW5aBKjtEvkzdl1Y6f9sXqvscgUaBP9GUX/9RDSXBWaQYUX3CImLe/MB41BeowPnJqpjElcz3f4SO3UHjeHbjmzPlmXfmKvukcwfq0fGAP2iaoZJYwrsVAgQyDgO9VH5mu+HT4NCtwogYtyLdNIQlEeHyUyAV4I/eKWaPONNzFgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k1vgw36m+gbTDl6gUiBeTihu6+nCkaeii4/Dble4OKo=; b=FqG2PhnG9pz4sFRfGCVslnBEVNlRU+bjZLNsd8FTPN4GPiNyjFspn6681sxb3W1X6pU9n6k4y915qqbK0M79ey4rCB06otmK4MyNTl6JVGRDtKUJPPZjdorlLuk7jI6h7wcgu7kbhqjlaOCnWJXe+cCTwPdwLviTnn0vmpxuvWMcv+KCrfBIaR4ea2sAPPIyq8sQDESMxYCh7HR3YALzP4l/UoU7wAo5JTjLkMHJb1UTA8qxJ1XQDVK4nuAFrZJ6NmXjXaBzQCH9HtQD6GI0EHl8IhM1VohdQ+eMKmiTw8JhPaVnNVkz8lmrUSrHwrmy0UPp30J0Ai/7oMK/u79Lbw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:33 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:32 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:53 -0500 Subject: [PATCH v3 3/9] PCI: endpoint: pci-epf-test: Use dmaenigne_prep_config_single() to simplify code Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-3-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li , Damien Le Moal X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=1242; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=THRhOrJebwYHSrLzHvW6aplke/njcscVbZWhunSBdVc=; b=2SIgRwMFNBmnVrtHneAo6N5xItz8nijZ/A1mOSa3msgYlD7TrnMUHdqCGUNdCFXOgMuAWcOQe YiBPSSm/7vcAy9bjtVT3m8IrrWAre22NMZXsbaHbT0OQ7z2forMcLoK X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: d4ae781e-94df-4208-9b0f-08de4cac69e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YzgxelJ0Uk9KS3lhRlRCK3RDbmpqNzRhVGxaOWUyUGs1MVI3T040WktkcnBl?= =?utf-8?B?VG9TMEVkQ21YTnI2cTVuTFQ0QlRhRmN3ZDRZU2NZSlNyMjBMODdNcjNTbUFu?= =?utf-8?B?cjBFdFRzR3hIODlLWDNOckhJWm1WRmcwOVVTbXRrUGtZajY5a0x3bmQ5SHBk?= =?utf-8?B?V0JwcXE5UW1scnA1ZTc5QjIrUG9RMFM1UHRpc1lrS3dTaUR6ZnNacG9rVXFl?= =?utf-8?B?T08xK3IvV21pd2dOWFNialVWWGVyQ0k5UzFtOGtSb2FRcUMwS0prOVRHeHFO?= =?utf-8?B?ZnZvVVNDYkY2azdYL0t6ODRkekhkUUtmT0N4TWIvM09tcWlWT0NoTTJtRE5U?= =?utf-8?B?dm9zMlRicEp3cHhhZWFUNUNaODRtS2piNk5pdGxxM1U4dkorMXk2aGZBS3ZT?= =?utf-8?B?dENxZWJjVjU5MVhHcHBBenpuaGpxUk5BWVJPb2E2WXZuVTQvTFRYYWVscGlB?= =?utf-8?B?WDBIb0JzWUJMTklvV283TjhhcjR3VElsRXM4ZXdKNmx2N1lBbHEzOE1BM2di?= =?utf-8?B?TUwxOUEwRDgzcEd4cVNGZkM1blFXOFRmbFZqcllvNFNVTjRweXYrMkU5MG9l?= =?utf-8?B?WDBhNlhFNFowRlFleStlb0RMNXdWUkZvQjNkZkJZaTYyM3Znd1FaTEtySXFW?= =?utf-8?B?dlZ1dHB4OEZMajBoMkhrYzJzZzMzMnBtbXpiWnlTTUU2bFpQMVlrZmZqRHli?= =?utf-8?B?NDNTTkRmN1dZQzNlUCtCcUZNelgvUTlZWElweU45RVE2RlB0blJvQ2g2WkdC?= =?utf-8?B?MmFka2xBVEdwWjNleWkyS0Q4UVEzaW1VQ1h6VjJUTCtMbkVFS3JSK1RSb0Np?= =?utf-8?B?TE1NbDhqL0FEaXNMOExJVzMwS1lUQWZneXhFK1hnSTlRN0hKVWd4TXJNMnRS?= =?utf-8?B?czNINy9MYUZON1NVWGx5VEwzaEVES0RkQWNWVE9zNWtoU3U1RHpKTm9Ga1Fr?= =?utf-8?B?TzFiWG15Rnd1QUpLUFE5Q0JiQlNnMHBTeituU1o4UWNaZ2hFNFl2VzVCWElE?= =?utf-8?B?QzM1QUtBTUIxTDQ5RHV2NjJEcDJRa09jSllMbUgySkhTQmdsd0pXaWNLSjVy?= =?utf-8?B?aTNkdXRLOG9PYkVOdXpHY0ZGaEpxZThCZ1hLRmFUWU1DNVZpam1udFB0WUl6?= =?utf-8?B?RWp6dWhVZGhMaVhmRWl4WWJFZWh4aDY5Sm9zQVlBQXB2VSszM09oZkFhdVI0?= =?utf-8?B?aEJTdnJ5VHJqNjBqY3BPRnY3Ym53OGRnL09EZHQ0bFRlUFQyYUkyejRnL1I2?= =?utf-8?B?L3UrVk9iUUMyZjdLczN5cFp6L25lYlZCUHhwa1lKNE9ybE5NWGptQTc2U3JY?= =?utf-8?B?anh2cFRVaHkyYnB1N3l4RWRjOVlYUW5YaUxiR1pRenBWYXExcXhwNWFoOU9i?= =?utf-8?B?ZjQ3a254alI1eitQNnpWTW1nT2FWcmVsWExZWUpiY2t4RzQ1L0tGWjM4YlU2?= =?utf-8?B?S3o3dnAxaEovSVE5cTNmSUt4ZUkzcEIwUVpnOEo3ZFhVdDZyU3VQRW5HS3pt?= =?utf-8?B?eDlrSTE3R1dSYVBiOWo5SXpNVmllUnI1eTN0Z1ozc3M0bjNlcENZaVJ2TFF2?= =?utf-8?B?c0xwdGljRllJMkR3TFY4SHdhcEFYc3pRM2l0Kzg2R3puamRSSnRSLzZYNFJi?= =?utf-8?B?WmVzYVI0dGt0MnN1aG1kbit0VVQ0L1ZiSHhvRnk2UUUwaE5rRmw3ZWxWWUpM?= =?utf-8?B?NzVLZG4vUmJSMzNYMnJNbmY0R2xkU3RXTWdoUWtndHN1cVNCcXJSZzhMVmVo?= =?utf-8?B?a0trYTlPOFlqMm1MTitIV0dOTEswdW5ML1U0KzJkbjl3OTZ1TWM0T1RyZGM2?= =?utf-8?B?YVdzRGFKUGJ4QU1JbGhjeDgwdjhCYXlvUW5oRnJPeU1ocHBjQXBWNldGRW0y?= =?utf-8?B?Uks2N1hMUk0vQjIveVdKcHhPMDREaFVra2RCTFMrRjdseG5MazNheUNDb3c1?= =?utf-8?B?bkd3Z0RkM25rdjZtaWkrTXROQURGaUVFTkIwR1Y3ODNMOXV0ZWlDeXZGM2RO?= =?utf-8?B?Vkd3KzFsR3c5WVdtYkVYK1FWbis5ajYwUG9pQ1ZtQ1VVMnVrbzRGZi95TmRL?= =?utf-8?B?dnpWNVpKWHF5SHVoSnZqM2dtSXJXVGxUVmNyUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dHRDdHJBRGdub3RJYngwWGNYZDY1MktSSDRIKzBuaDJDYjNxUkNyY21WdGFX?= =?utf-8?B?TmhrOXRtSGloTC9kZGJQTEtHbXpaVDAxNkw4TXZxWmFQOXNSUW9CVVRscVRZ?= =?utf-8?B?OElkVksyMzVOdURGT0NSUTZLZ0g4TUtrMmJXNTFxUXhKWHVodm1wdFovaUFz?= =?utf-8?B?b0U5OXoyZ1ZBNW13ZWMzOVBFMnM2RWNUcTI1UzFGWUExSndQbURRdHB6NnE4?= =?utf-8?B?ZlR1TW85RSs2K25PTEM3cmR5NmduWVpQUUJtYUFsWFB1MktFVlMwY01KZkgz?= =?utf-8?B?aDI5czhBYWtTNlQ2OUJYckdvTTJBR1BaZFBGeFZhb3hvWGlLcW5Ddm5xaElH?= =?utf-8?B?NTRaK2pnRVJpYktTZi8vb0tWM0Y0NEpGSVJUc0ZRTXkzbXJ5YnFCczlxVHRZ?= =?utf-8?B?dXRWR2dLbks4YVIyS0d0cm53c3RFMFUxdjJLdjhPQlZmd09ySlNuRFZPTWFI?= =?utf-8?B?dXlzRVQwNEcvRXhxOTRERmREMjhRQTVJZHZEZUszc3R0Z24zUGdEWFJOc1R2?= =?utf-8?B?YzRCVVZQMi9vcTR5WGJDZWtIcWhScGtNaG44TlkzNnFKZlNwV1Z6ZURUeDlq?= =?utf-8?B?dFdXSWN3UDlUVnpEWmJadmhURGo0Z2VLS3RSOFFRQjBxTXZwSVJlSnpNRHUz?= =?utf-8?B?T2d1U2d3TlFLVGY1YmErNTFZVFhxU0FCRmFkVVhxTWtuc2wzZ1NJUzFVSDNu?= =?utf-8?B?Y2d3d1BDYUxRWDJmTHhzTVJFaXM0YURXQVA3dWRHR2UzL3pFZ2dkZjQva0x0?= =?utf-8?B?N3QyNUVwNWN6QWVEcm5ad0dzRlVYSG1iOGlyTmpPaHNOdkFXZC9MVUJVTkg3?= =?utf-8?B?cmFQSHBPNmJMazYwQ2RFWnV4aXBFcVRkR2xndEkwN3lZa1BNRjROdVBjeHNB?= =?utf-8?B?UWM2bUVoUm16MFN4MXZ6K2RQY2VONW9ucCtMaFRLREhKaXNGV0VNZEVYZ1Na?= =?utf-8?B?TzNIK2huaVhMUk1WaTEzS0tFUFdXcGFEVTFXM0d3OWtIZVE1QWFMRkkxQVBD?= =?utf-8?B?SzIwT25pS0E2azFNR0Rxam9iZGhtT0NWWDhyeXZRL2U4aEQ5UTBPRjNERjVy?= =?utf-8?B?ZHF0Vk53c3ZyNVlJU0tjLy92TlhOVnErMTNCTE16dDdmakE0dmFPWXZjUEdp?= =?utf-8?B?RGlJUWVlMldnUnl2cm5yYjUrWWlwaFVDMlR2cGJnSHZjT0xoWURXelVGL1px?= =?utf-8?B?dUlLVlB0RE9obE1MM0xTWDdBd20rS1lodXlnWTBSUnV2aEVlREp5QWt2aWF0?= =?utf-8?B?SGMvUVRVSDJ4WmlrVWNEdmg5L05VR3Z1d05NTnk0amYvY2VtQ3h2MW5YWVZa?= =?utf-8?B?Q0lUbWFSK3lWMWVmSnRzcUVFcGl3YmhBbyswMUdQMktnWHpLaGVTcC9sVmVL?= =?utf-8?B?TEVtNitLTGUzakwveDdLdXZHRThIRFQ0R2JoajRNcTlYK3F0MmdWZ3N0cjRN?= =?utf-8?B?TWVsYlNHZ0NRZXFxcjlLTTFZdlp3LzQ4ckxad3ZaRnVPaGJZTE8rZi9MZlE2?= =?utf-8?B?QnNGMVhoeVQ0RnZ5bzYwRytYTDRyNmpVZVE1OFI4N3FSaHdXRG9MczJjeE5G?= =?utf-8?B?ME9LQ3ZDNW1xbFBRN2N0clU2QmFBQ29ZOTM5bFJqNVFKTnd6cEg2UlRwQzNP?= =?utf-8?B?TXNXV0pkNGl5UzF6bFBPWDNVRnZtamw1VEQ2dmNxMk8yRUgxbWVqZnRvcmo5?= =?utf-8?B?K29uTzBvQVhucGJBZ1U2ZWtSNWN3dlBrbHIrNlJvMm9hVGY5ZnFoQWJhaWM4?= =?utf-8?B?MXJSMzh0RE5iUGpEUXJUNXBPcjVVQVpCR1RKV1FLTDJTNUw0NTI3RnV2dnpJ?= =?utf-8?B?WVRhRjNtdWplc2JGS2cycElUSk1lWFVPdWpGbmpiYmRQc3hTQUtQZTh0NFpp?= =?utf-8?B?dlF4TW0rWmJCRTBuZzJITTZuTmxkWXNoRW9GZHdEQUtYMDdCNlIyb2FzOEMx?= =?utf-8?B?UnNRQ1kzenFVby8yb1RWVmdjSEI4bXoxT3RXOVlHM05DaVpRTU5LMklGR29C?= =?utf-8?B?MllDaU5nck9ubEpGVVlSREhnczFWM0Q5VGlYMHJNODhkY200eGZRWE9CenEx?= =?utf-8?B?RlN3UlVmSDBKbzJpZzlXVWVJeWlacmFQY2QzTlk2bDZKRWlTL2NDYUF2U2ZN?= =?utf-8?B?QlNDOXVpZ2VpYUUvZ2hQMGVabC9Nd3NITTNKSkxKK0tVazVzVzV0RXo3dCts?= =?utf-8?B?ZFZEMGFsWEc2elY5QUloMXNoTG96Z2RTM3JXdTVyRG1rRDYrTUlqckM4U1Nr?= =?utf-8?B?WjlkWE5WYWJyazdEV0pRaldhT1VRWWU5TmZiZHdCVFB3Y0g1RGZGRmhnZVli?= =?utf-8?B?dVcyT3RzNjVEV1hZVzM1UHRXSFFiVldib3N3Z24vbzczaGl6YnFuUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4ae781e-94df-4208-9b0f-08de4cac69e4 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:32.9005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mjvQDRW1IfVdO2hbNle6W2u/ojHlBcixPQT5H6Ko5khqpsuSVFp2nTZz2MdJkQOdO44vmmqiYwrkSwpBC7w+aw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Use dmaenigne_prep_config_single() to simplify code. No functional change. Tested-by: Niklas Cassel Reviewed-by: Damien Le Moal Signed-off-by: Frank Li Acked-by: Manivannan Sadhasivam --- change in v3 - add Damien Le Moal review tag --- drivers/pci/endpoint/functions/pci-epf-test.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/en= dpoint/functions/pci-epf-test.c index debd235253c5ba54eb8f06d13261c407ee3768ec..95b046c678da7ca4a0d9616acdd= 544251dc05aac 100644 --- a/drivers/pci/endpoint/functions/pci-epf-test.c +++ b/drivers/pci/endpoint/functions/pci-epf-test.c @@ -162,12 +162,8 @@ static int pci_epf_test_data_transfer(struct pci_epf_t= est *epf_test, else sconf.src_addr =3D dma_remote; =20 - if (dmaengine_slave_config(chan, &sconf)) { - dev_err(dev, "DMA slave config fail\n"); - return -EIO; - } - tx =3D dmaengine_prep_slave_single(chan, dma_local, len, dir, - flags); + tx =3D dmaengine_prep_config_single(chan, dma_local, len, + dir, flags, &sconf); } else { tx =3D dmaengine_prep_dma_memcpy(chan, dma_dst, dma_src, len, flags); --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013067.outbound.protection.outlook.com [40.107.162.67]) (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 E244E28725F; Mon, 5 Jan 2026 22:47:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653263; cv=fail; b=enedCrXdusnF+cnC/mw0MuXXfmCoilI3M7N/35aqy01r52Y9VZ6w39f0+ReKqukRWzdKv321f+Sc3eAETMIFuugxh3DTHZagzXc0msTqkBEpfdr3GME4Mik9ST1+WZm54K64g8LrlGi0ENA3+vxbW5p6B0+6Gre3uglhYGqLxfc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653263; c=relaxed/simple; bh=666T1YwSFcJwi9nEGWpzaF3VPuBgm/U7tyH/YWn6ft8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=rrVGU0yXux2458/I7EtuA0oNciS75tA9n4sq8XYoxUngD1riBpv91GCCMEEpfKMwEEeib/n19WvlqGp3gBrWb4k8iak36qdCDAOz6Fz9l2hnHp4OGDEM5mylvkj6DHsgLhnW1oCsqKuqJYk+urL7JF22cVL2Nf2fdntfwNxnDnU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=R8GZal5l; arc=fail smtp.client-ip=40.107.162.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="R8GZal5l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R7xopmJCRTWd5jEi9nA+oLrc2yL9VHEMnsqvlhh6sJ0+yvzZ3yY4ZEoZADZX5Ele4FDoKcAAOCR3MSOthM5CSIrD/IFD9ItPqEnpdfXUyUW8MHHCdwGXMZeR67v7ddr8yYSs0AfsBZ1brrgWir2KF3mR6YhXpjUrvRstNn3yvblKY6VaG3+6wZq7CNxr82wBP7k9sbdZpjh09TjUOWiC7KEgDM/nKEbH9sCXfoQvq6HT9w6ymSlBUU8Vp8vPJlkdCqsr0xaMN4SwRSVvMUY7c07TQZASR1z7RjDt3t6yGORQ/ouiLyh8+akTqyfyAhn2Ym/LvtjoiOjn17oJ+kj2zA== 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=wdJbVboTE217eM5NUnlyygHmPDtiBWdhUTcYQkIUEh4=; b=H3E21+fQHfS5VsHu+1d5L94cnOg5cTHoSsjqxNx16pLJlrNLLHnXx0BaOrqrUPMH0/06WzC46JJkiJezXKtAddyDesbqM9Kp5gx/UBw52NK8f/XZxIscz+WQAh3mvDvJdPg6gZVg2KmAIEP7v4a0D2D1mv27EDpqDgRQC7SaPk9hjb2W8nP+UNYoCZs7BKFBubQ62zWvxZeDFR0e0CxKlBBh6N4t1/IoNwyxHuL9LZ6yviDJB5sgiDIN7x6lm8hiSme+Evq7b8/bkPiVhUnM/TkYXIMVKefT/L5mOWXIBkme3jPHEusmZwdtk0hGwxCuMBaQPlI7DJ/eO9biihn0+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wdJbVboTE217eM5NUnlyygHmPDtiBWdhUTcYQkIUEh4=; b=R8GZal5lzxhYp/wIZUmhIpeFPHm83jZd4NMNYpBPc8pXK54CXdw5w6CR7qnXDIyI5+OIalWtlWCJuxJtKtvma84cIlQUJMotqBcl/J66FDuS2BSSC6wjEZ2KDaEUvufx8/engBdnzI+y7+90O0SpZXdOLl2Tl4VklB3vpOlz0JxUeJnhbsZIhvxW6L7rF9XzFNrgPg/tYhoiMB0ABZyX47nM9zpL46MGDpCiw8aTsOoPmt8O3rnLZiZOozTSdlirV2M0R6wjSfgSwCFjJjeAgcmhLDNznl0wybHQQp3YHscGBZMIiGhl8O/D2L5ndgeeRgXd37XiRjoBEVT0IUywoQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:39 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:39 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:54 -0500 Subject: [PATCH v3 4/9] dmaengine: dw-edma: Use new .device_prep_config_sg() callback Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-4-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li , Damien Le Moal X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=2157; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=666T1YwSFcJwi9nEGWpzaF3VPuBgm/U7tyH/YWn6ft8=; b=Ydl5vNmX+/R0BUkf8BCqzb8XiaN/77Nnh087algaJwzJAGFd4/WY1+fPD8iriHFmxc3sXNeyI /EPZc+R/8YXBnoAxzwLuunF8LLVDyZ2eh4SJUgxdOz8rY/0/WNZPGuL X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 46111ae1-b065-4d34-6cc0-08de4cac6da9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?aEo5SHpxTldxeExvR2dvalhqcUdiKzgzQ0RwcE1MT05PUnd0OER1Vkd5eCt5?= =?utf-8?B?K09HdGw3bHpuQnJsSGFMZGpyd3U2YTlJbExyZlJ6U0FWNG4rL3hlVFh0RzZS?= =?utf-8?B?aEFWVzBmTFpCamNacUNiRU1XKzBFRHAwYzdldU1Oemc4cmRBZW05QjFQSmEw?= =?utf-8?B?ZzdyL09TdW1JVW8xaHluYkg2L0RBdDJxc1lNMlRsUGVaLzh2MDdIKzJBS3Aw?= =?utf-8?B?WFdwWnFMRWQ3a2o3M3pkMVRMWDVyVTZuL3NzWW1FTHljSFRxMmNuY09Sd1M4?= =?utf-8?B?eXBDdTVDZVg2czJ2MklrOWVja0hlclpXeU5tY3RrZ2t5cHdLeFJhcDFIZTNy?= =?utf-8?B?VXhiZ2k3d3pVU3orWjdLY3BsU3ZPU2ZRNzg1b1N0L3F5STNNY2kyNWhnVW4z?= =?utf-8?B?Rm1nMVJnbFFJNzNoSkxuTHpOUmYxVzVtaXVIYW03WERBNFRzYVIyZGp2czNZ?= =?utf-8?B?akRRUUNRakNTTENQOWQ3NUFVNUl2VXYyb1g3ZEFLTm9tMkdKUWhEbzZiRGRt?= =?utf-8?B?MHRLT2NyRW5uUkt0eEZaa2JtZDV2b1ExK21pMkRVYnZqOHZvcWdKaUpvY2JJ?= =?utf-8?B?RjBsMHVTVDF6V0pkOHU1blBrVGUwUEdZakVtMEV3SGtiSWo3N2pBOFR4WWt6?= =?utf-8?B?VEMwa3N3Qnp4bk15SSsraVdOMkk4emFUc3ZoTi8xbzRZYmMvVUJEUEJlcVhj?= =?utf-8?B?ZGRsY0VlWjR3cnBsaDgzM1psYm00VW5MU2F0dUxMaW5Cc1NjNjRwNkRBOHZM?= =?utf-8?B?ZlQ5Q3pyaXdRdWtvT0RxTEZoYkJNODFGLy9PN09kWmNVbnJkNWFYYTBwNVpi?= =?utf-8?B?dmhndW1tU2Z6OVk3QS9TUFpHd1lWeFFpS3VrYlUrMy9KUm1GL2NKaUdkMVRS?= =?utf-8?B?eHpzd09MU081TGZDclliZ29FQzREcHh3TzNwdWlXVHpwS1llOElTVUs4Qng2?= =?utf-8?B?azhZZ3NOZ1lYUzlwdDFSaWtpbHVpaHhBcWVRU0JlcU1BK0VqdmRJL3ExWTFY?= =?utf-8?B?WVJXNUZuNjh2TFdmTGNiVys3ZW5yVHhKaXJvUmVsaGI4bitKY1Eyemc2RWM3?= =?utf-8?B?TVdpdWRkTVQ3MDlyS3FnK2JHZ0I0U3BoeERzQXFncVJWdnpENHlxRU9jS0h2?= =?utf-8?B?Vkhzb3BJeUxQYkdqN3Njbkhmbm9ZUDVEanlmV1hvaXhtNjFJU1Y3aWNBWis2?= =?utf-8?B?a2tkcGFzMG15Zi9lZGpvQy9oV0doVVRXZXNlWHBLUUZJZVByOVIwZTVjU3J3?= =?utf-8?B?dGM1SVViS0J3Mm5kb3pyRjlCM3QyeDhDNXFhSmdJdTllS2x1eFRRSnp5ZWFO?= =?utf-8?B?RE9POVF5N0dURlJBbjJSOTA5SkRobTlJRFg5Q3pMeWR0WGlrb0xmYXEyS0Z5?= =?utf-8?B?dldPQm9tamdzOFpsUk5waWJuaG9mQ0JlR3ZNbmpxWEkyUWNZem9HRkcwejlJ?= =?utf-8?B?K0RZU1pXK285eDRVcTd2SVFaMEl1cGRXNVgxa0ROL2tUSmxDYXBQdENDdm8v?= =?utf-8?B?eHl2RXc4OFI0M0RDOVZOWmhCM0ZXd1crRHpvb0prUXdabzhmNHA3YVU4MGJ2?= =?utf-8?B?SlVJQnlMSndmT05lTWNDYTZ2Q0VHcHVCamJMc3BnRFJZT1pGQktEN2VyN1pD?= =?utf-8?B?WmVrakdBaEsvV3hoZWVqNi9JV3J6ODc1bHZQckw4Q1Q0ZElhZzZGQm9kVW5h?= =?utf-8?B?cGhPcFY0NW40ZlZnQXFndGpKZmhIRlplTytwbGFuV2pzQ1dWV0RhaEl5Qncr?= =?utf-8?B?YzZBZzJLTHdUN016elBwRzByVk9NRzAxSDIwT0FQRVBVcnBFUW9YTnhhNjFu?= =?utf-8?B?eDFWSk1sYzZIK21uMCt2dXFvdnlMOFkxRGRFdEdwdlJvb3M3M2RjV0x3WHpt?= =?utf-8?B?VFE3WGVyVFBZcnZzLzh4Rk1jNExBbGpoZ2NXbElXWk9ISEFpTDRPSStBWmNa?= =?utf-8?B?R0FpbjVpYTgwdUxrSHMrMGdEcjhlNHFmem4xSVg3aU5MMUhhQ0g2RW5aY0NY?= =?utf-8?B?VEhpejJrazJhMkoxN3c5MVNMTWxVL3NwcmpZU25QOGplOXMyTVBjUEFmUjR1?= =?utf-8?B?eU1oK1NIMzhrWmdXWGNLUkhjNzgzd2pxYTl3dz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Uy9LMTRSc1IremJRMEhkZmovQTQ2am9WQjZjS3Z1R1ZubWpmS3JKNzdTWFZL?= =?utf-8?B?R2t5cWp0MjltZTlrRUlUb0lrMng0TDl6Qlhtd1VrdVBseVdJRlkycHNVUkpC?= =?utf-8?B?TXp0UGhObm5lQjIzWnVhRUljb3lieHhmeGZaSzJhcjIwMFE0d1JqdVd2T3Ix?= =?utf-8?B?SEcvRk1zUGRHSWxUWUluWThRZThrTFZEOXRESlVkVVNYazVrU1lZY29iSTFG?= =?utf-8?B?azZ6aHJzNkFHc1hvUkRJd1A1ZWRIUlNPeDlzR1RhNUdtaTBBeXpzcFNMY3dv?= =?utf-8?B?cVR6NnFDQmNUaHNNeFVEVXFteHNhRXRsM3FWc2llSjd2OVZUOEFzWmRzSHdR?= =?utf-8?B?a29jR1pUTFB4cVUxdnJ5ZVBpOTh0bldwSHZrQlBNWkpoVW43ei9WTHBCaHoy?= =?utf-8?B?TVZ4ZlpzbE9qZHBMQkM3OEUzbkRNV3JVbm1MK0VsVWZobndyNnVSWVdneGNk?= =?utf-8?B?S09say9iUk5pdHd1Z3k4a2xyZ1g1SC9DKzN3N3NVTUlnN3VtVUZwbWJQOUZ2?= =?utf-8?B?amQ3dk1xZ3ROM3hlN0tVOTJaL0VCREJkMk9jOXIvUWRUOWFhSVFWVDF0WUlW?= =?utf-8?B?em5ZL1ZLcFVYZE9pVUxRWmJzQ2Nhc21ZVkIvV29MYnlTcm5yazFOZDlaWk5C?= =?utf-8?B?MFp1RUc4aUltREVOUE1WOE5VRjdiZmxSWFdrWm1IYllQbzczZytiVVFHQ2lH?= =?utf-8?B?R09pK2E2VDRibk5ha3h5TG8zQmNHdjR4ZHBXby8xaFpLNGtRTCtJVHN3bVQ3?= =?utf-8?B?bEtWVXJ3YTN0cnNUUXdGQTBoNE43SVI5TkhhSGNJU1UwSy9KcDhnR2lrVHI0?= =?utf-8?B?ZWJYaUkwalRCaWlENlVjY092NWlWWHBnSXhrVVdWeXh6d3NacTY5MXN4SHA4?= =?utf-8?B?WStaVXQrK1RqOUxZbFNoZEtsREtDanh2STR1RWZXTjl3UjZXUjU2NlBkSzgx?= =?utf-8?B?ZUVmclphTmlJSzM4ZlBZbXNzUDFrSHBDYkdjanR4VFp4MVhSNmI1WlUxa2kr?= =?utf-8?B?OHp2MWdZRUVzUTBYZXZuUzdqbld2ajNPejNHanhtRjg4czRBM0JBYWpYOW5y?= =?utf-8?B?bllKYkRDVnV0akFvbC9WVTdRZW1wZWVTOGk4RXdQUnRnVkhqUXlaNXNvUHNH?= =?utf-8?B?UC9lUmw5OTBNTnFYMzJQTmNUbHZWMlZHQTBPNVFSSzBiNVBYdjQ3UjhQQW5V?= =?utf-8?B?eGRtM2xybUlVNDk5eEtYajhZWWlnMElwWlM5N2FHT2FYaWZqVHFDbDd4am9L?= =?utf-8?B?LzQ1cTIvZzREZWhmWkplbnRHRDNPNDFzdklFTkZIUGpRR0pacHlBS0hDN2Uy?= =?utf-8?B?VDd6cDRrREhrODlwTzRZZ3o0VnlsQm14VHd4VlZNam9MRllhVWpEY05KWGdz?= =?utf-8?B?anF3UkpUU2NVb0N6M2M2TDZRNEp2ZVIwMVYzMXhHWFFXaGlGaHljQlFyWEt2?= =?utf-8?B?MFBIT2dxSXMwRkVRVlNZSHBUNDVBd1BtOW5qMitZQW1uYWlHb1FJNXoxNGFw?= =?utf-8?B?NzdrdmdGUG1Vbytmdnc3T2szK3JuZDFHakx1UjBhcWVNbHpTNU1zMU9nK1ZE?= =?utf-8?B?VllmMnBCbytjSXVsU05BQm1IVnNwUi9SaDhUZXdTci9wYXd4ejVhRzRjSkh2?= =?utf-8?B?U0wzQXFreUl1cGpmZ3Z1elVTTzZReEV6c2JRc1EvWi9KdTUyaFRIYi9XcFFL?= =?utf-8?B?NWY3NDN0Q0VUUmlKNjFwOGR1dFAwRFc5VE5pV2tuVTRXUnYvdkpYcjVWWDBS?= =?utf-8?B?VWd5TXpQeXFQVjJDeVlFbXQvYnBjVVp1Y3ZMaG5lM1BXZ2cvZmRNbjBOWldZ?= =?utf-8?B?MU9yWWViTGNhdzIrdGc5QVJuOGhGdCs0ajFjbGtrTHVEMzRxMWFNRmwzbmV3?= =?utf-8?B?Nm5pUWhTSGIvVksxczVGM0RncTU0c1ZSZWZhaVgzTWdvbDVvMW50YkxhZmhE?= =?utf-8?B?S29Uc1RVUHVWL0FEQnhHS2VPNU9DZFpNazBNckJaS3hLSE4vMkRmME5aM0c3?= =?utf-8?B?dDBRYUlNWXB4dWRKUmxGZ1NzR0hpOS8yM0pRU3BOeFZaeG1FUmFzMDdwa25B?= =?utf-8?B?bHNtOGU2WUE4OUNRbHVFSDV6RnFXQ2hTbldCeU02bW9TOXVIdVNlUXpPazB4?= =?utf-8?B?MXJNd3RtZmlzbGZjajNDRTdpMFBMZjBNMXkrNzZ4SnlqbGpiNkhqYUIvNUxL?= =?utf-8?B?UmtCM29Pam9jZFNsNzFQNDlYN2V1ZmVPOHBBa0NJb1E5dUo2clozUTMvNm5S?= =?utf-8?B?WUg0UEwvSEw5VnA2cjdseHd4U2wzL0ZudkRabFptVDdabDI0Y3YwNU5LNGNI?= =?utf-8?B?QTlDNUlRMDRlZ1hLWDFpeEhlYkdMcG1TM1QvN05vYkVacXpJSlpqUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46111ae1-b065-4d34-6cc0-08de4cac6da9 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:39.1936 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GM6NmASYSzCE2QS6zwpWI5pizV2vsf3GHynabua7vkbgUqrPGhnqGhRSroZ5D2LztiUghyKQp85i9sDIC4bJJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Use the new .device_prep_config_sg() callback to combine configuration and descriptor preparation. No functional changes. Tested-by: Niklas Cassel Reviewed-by: Damien Le Moal Signed-off-by: Frank Li --- change in v3 - add Damien Le Moal review tag --- drivers/dma/dw-edma/dw-edma-core.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-ed= ma-core.c index 8e5f7defa6b678eefe0f312ebc59f654677c744f..e005b7bdaee156a3f4573b4734f= 50e3e47553dd2 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -532,10 +532,11 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer) } =20 static struct dma_async_tx_descriptor * -dw_edma_device_prep_slave_sg(struct dma_chan *dchan, struct scatterlist *s= gl, - unsigned int len, - enum dma_transfer_direction direction, - unsigned long flags, void *context) +dw_edma_device_prep_config_sg(struct dma_chan *dchan, struct scatterlist *= sgl, + unsigned int len, + enum dma_transfer_direction direction, + unsigned long flags, + struct dma_slave_config *config, void *context) { struct dw_edma_transfer xfer; =20 @@ -546,6 +547,9 @@ dw_edma_device_prep_slave_sg(struct dma_chan *dchan, st= ruct scatterlist *sgl, xfer.flags =3D flags; xfer.type =3D EDMA_XFER_SCATTER_GATHER; =20 + if (config) + dw_edma_device_config(dchan, config); + return dw_edma_device_transfer(&xfer); } =20 @@ -815,7 +819,7 @@ static int dw_edma_channel_setup(struct dw_edma *dw, u3= 2 wr_alloc, u32 rd_alloc) dma->device_terminate_all =3D dw_edma_device_terminate_all; dma->device_issue_pending =3D dw_edma_device_issue_pending; dma->device_tx_status =3D dw_edma_device_tx_status; - dma->device_prep_slave_sg =3D dw_edma_device_prep_slave_sg; + dma->device_prep_config_sg =3D dw_edma_device_prep_config_sg; dma->device_prep_dma_cyclic =3D dw_edma_device_prep_dma_cyclic; dma->device_prep_interleaved_dma =3D dw_edma_device_prep_interleaved_dma; =20 --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013012.outbound.protection.outlook.com [40.107.159.12]) (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 C2B5B2836AF; Mon, 5 Jan 2026 22:47:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653269; cv=fail; b=d3o9jWlpKES9DgOzPPwtlj2wPTn+xBL9KtZ9m0JI4EhIZ8sc5V1OJnmCLFeOKM/H1ImGcf5q7JSIy40TKZY1FbP2z+TgaZA0NPW4GA2KLZTYDQtPqQMf96yBaWiaqiMCAa2ST61iNMtHADtvaaPFRls0Wd0n5t0vtay7V1dcih0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653269; c=relaxed/simple; bh=zXV7+21VtVcaEhMU+rM/ABTnDHsLkjDDk8yblDSveHo=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=FXAqnWh8gKRrDEzUhxy+wsOmUpKGYJELMB3bkpKAEIsUA6fzT9Se6jVY1G7tShUOPt68rgwwiUcnIqIGZdMs9Ku4O4IfsINVmMH52pbF92qNFtCI2wCaoSyVaeo3+z28cZrb6Etrz66LLm5x06u/lsZDFDapN81mj8KuUst5U8M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=OodmToiI; arc=fail smtp.client-ip=40.107.159.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="OodmToiI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nVpWqpEQFdB7sIvUMWqdX06tJ9cRz68oqjezDZkqipqHnY5tShh6ZKrTWMNi35iHRx91YkzUOyEwABPbNW/h21jLagfOeBSO2BMyozOOsg6tfUtvH8A5s4u9Q3IIEKMlEqKXNPyAuGtLpnXWqnSTVW6MJqmX8BprfaYZRL2wfgRMA3Cl3Aennjv0j2bdUZxwfxiiLlye625tm6/ZcEldkVSi1tbCGu+/4sykdaSvBbeqyNiA0xJIJdzCmv+DXW+y97E/tiXm/cR3zimyqJzIbWMeu8lFtzN6hIs+fLtyMsxOGMdae6EF3TX6yG0fQwEbA2051YrQoObqICHHGBjrBw== 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=/PYODnaAjpiUrf8sRatuQPrPaxZFVF1DE6UIoUsIMpU=; b=NQMGMW5FuZBsQsQq/43V3IIYKMq04x70Ys4fBFkAvS1wZez73HokC6HXBNfBHtxgM6b4gFyaL481ZdtdWmfRfaxj+EmRY8hDyfoxxmpujOInUVYribFIEZVj5uLbatfVizx7Xb1JSC9b5lLKUkwxQ/4TldcDBowgSsIQ3rtxKf+J4yCc7bCgtWg193GN1YbckaHlKw5hYjo3AOytnFBPJZ5pvszmw1Mz/pyM1/0pDctjHKSOWtgiqBLJLxN60Fw82m/688jxWY7/JOfrNnA0d4V+YHQjoTkO1b8gEBe0k8wXLtCfN7kwlsn4x7WepNr1HqRQtBllkrMRFguWJiYYGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/PYODnaAjpiUrf8sRatuQPrPaxZFVF1DE6UIoUsIMpU=; b=OodmToiIZ4sTJTye4EmimgaWhWFzCWgBo2CoxaMC084KH9KLAH+Y1cYJTRP2xATp3Ueg+6l5gmdepQgwmaiJxN6oIj93aQ0zzA3UmGYGhm+SEHEUMVDdUbJDPiGiGoqyodDLUk4ASl09VcgeOuvctwQGL8YXyeaZ0fugn8U49NtD9ilfaFhQWjCWRHvnh5VzliQ7fs6GOchN3Ryo1URwQPIhHe6OKlVuRNcF/55iTlfzAn7eS0shMiIaCBEdupZBZEf9JJlPuuzhPOMtrZr4RJcbrMcyDWcjv/4H1JWNtfdLiyxj9vdzrXs4ZH1UQwgR5ET9IVKeUUPwUrsEDA7rWw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:45 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:45 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:55 -0500 Subject: [PATCH v3 5/9] dmaengine: dw-edma: Pass dma_slave_config to dw_edma_device_transfer() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-5-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=3033; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=zXV7+21VtVcaEhMU+rM/ABTnDHsLkjDDk8yblDSveHo=; b=yDPrYQefAH6EBZGtF+3Uv+1bKJPmlzle41TbASKz+3YGzNA6AFGI+/oLiOm8nY2E3xlePm97Y 8lZPCDbb4zsAM9xVrCrJdy2B/24NTuex+XPjSjiOAr/De4tTuDKyo6B X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ee6429d-d289-4ada-d895-08de4cac7113 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bWpFM0daWmtlRnU0UjBIWVJkMXNvVjN5dGU4QWdWV2haVEVVVnA1eisrbXBz?= =?utf-8?B?Q3M4TVJyS1hUdXRBZ09mOW0rM0tOL0NHRUpGWHNsd04vZ0ZQQ3NrUkxQQ3dm?= =?utf-8?B?RlNsZFI3Y0ttd0VESTlsMXp6bnFhZ25NdS84RytHNElVTDZPRnBpbi80ZlhZ?= =?utf-8?B?R1JRTFdRRDA3MGx3T3lhbGVhNXltRnAyWmpXWW80aVhpV21BdWZUaUo0U2cw?= =?utf-8?B?VGRheWFnNEJzM3YvMmNMTmxWK3RSS1lPd2p0Q2xLbFU1MCtvYTJzUk5EYWJ2?= =?utf-8?B?N2hvUGZIOEgrRWJ4YTE1RW1QaW91QWVrUGlPeE5iVFdpNzk4Q1YyZ2J1RmNm?= =?utf-8?B?VUtkS3UrRWpRRndMR2wzdkVvdDFKaUpKczVzVlN6bXF3SlN5QzFmQUY5NnBT?= =?utf-8?B?TkdGMkEwTVlyVGtMVWNHRitON0xHd3RZeUVCeWVqRHpwbFNxanFLM28yaUY1?= =?utf-8?B?QXQ3Qi8xdE1uWHNTcUVFMDkra0NFck53WkJUN3NXMzZVSnlUSTZNM2syTFND?= =?utf-8?B?cGhnVW05MDZKZEU4MkFiaXdlYU1SckpRVTFOMHNKdEdrYm1YamhPUzJVM1NH?= =?utf-8?B?Umx0dWdCYVVRL3B5ekt6UUlCZnh5di9LdHY3a2lObVFnSkhNRnBwK3VxV1Np?= =?utf-8?B?QXl4S3dIWU92b1JxMlpwOXVoSzZNZitQcVdFZHRxVDN0dS9wWU1RQjRlQnBn?= =?utf-8?B?NWRBK1RDWkRFOXFxSk12M2F0VjdlNzdMejNZSWw2MitLVWJ3TFRzVlFTSXNJ?= =?utf-8?B?RzZZR0p3Y3NLeFhZRmt2djZFVFgrcWZvNGoxaFpzMys5VnpVZnA5WEVPZ01o?= =?utf-8?B?aC9ER1dubFRvcmFSMkx5STdid0wyUFVFc2FBblprT0hnVFFsRGZwSWRpVFFV?= =?utf-8?B?eDU2aWlsYlM0WHM3QTM2czFFNEpUbHV4anZiSzFWWGUxQTNpaFFMb0RTN1NK?= =?utf-8?B?ZHRoREM5cG16SW9tN3owbWM1SVltZU1IMC9xSkphcldDNEtrTkJLVnpWenQ4?= =?utf-8?B?V1h2MUNvaFF3SUIyWFNBU1dGYkZudUxvWmh6bzJGUW4waGU1QitoR0d6RWU3?= =?utf-8?B?ZlhZdnVDbzRUTnlRbmRQZU50OFU0ZFhwMFNjMWVtbmtRV05JeDlSa01HTi9i?= =?utf-8?B?em9FcjhCWXFMdEhEWlNTMnJyV1EvYVVtTGdJRW9WSkFQTC9PM3RhYTB3eis3?= =?utf-8?B?bmR1M2hrSlcxbndWYUFoT1BYK0hSN0p3SkZhVW1RTSs3azZFKzY2TWhIcGVY?= =?utf-8?B?eXRXNTRXNnIrMDIzSVU0RUNaOW5ta2NsSUZpSGt4RUFwUG90SEtQNUpmUjM1?= =?utf-8?B?WXZpeHZ4ZUdyZ2NVVkdmbVBmc04vdm9oQzVKWW5qMVd0dnUxUlEzUXRrMWFt?= =?utf-8?B?U2ZkbFJMeVFnbXBTWnhacjNnekhEeExLR3UxT1hnNnVCWTl0YTU4czAwT3oz?= =?utf-8?B?TVU2L0VJY3A0TmNWcmFjU2dMbVdpR0NJTlM3MDJScXlRM3JUNVIzVlJQZS84?= =?utf-8?B?TDkrWDdCa3FwY1VIblV5UHJkSmszNXZtUUhzTVVWSnRDQ2lReWNrOVFnZDB6?= =?utf-8?B?c1VXSk9GbVNSeEFkVkg1aWlZVWMzc0M0WkNJK3JDcHlpQXdFeUJVZUFObHVK?= =?utf-8?B?M0g1dTYyV0UzYWJaU1VnekU5N1Q5STVFNUIrUUpENHRoVE1oYWZWNWxyUVU4?= =?utf-8?B?alFtTEorc2FkQzNxWS91dU52Vndvb0dJQnNnRU1hQXZGYUN6d0kvUG5vQ1JO?= =?utf-8?B?R3lKV3N3TUtGRnl0N0F2bFJjSnVlYXF6ZWJ3SXo3OXBjVkRCNVg0THRZVDVF?= =?utf-8?B?cG9FQnViOWVVYTR0YWRZcU9aSEtRN1p6VjBpV1hSbnVvTk8ralBvNG4xc3hY?= =?utf-8?B?alhQZDg1b3JZLzlzcERkNUEzM3R5cy81Q2Z3ZitFUmZxcmFhaWNlaEZ3Tzcx?= =?utf-8?B?Zm55bHZWMHh3M3dKYnVabklNeXg2S01TM2NyUE42NDE5Zk5UcFV1UkhUUGI5?= =?utf-8?B?d0NFODBySWtzUndPSW5NTXNFZXF2WWY3Tnh0V1RKV0VZaDFyVFlUdFBxc2tM?= =?utf-8?B?MEZlQW9jZ1h6bk45NGpYcmZ1eCtXMGh2cUtnQT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NCtRY1d6dmIyNHJSNzJsd3htcjlJcHRUSGNjdzNZRGdTREJiR0lrYVRwNDVv?= =?utf-8?B?cjRIbnFvNmI5emFXNjFHb3NTU2M0MXE0WDVPTGlwYVpoSmRnYmpUVzludEdG?= =?utf-8?B?R2tjb09FLzZ2REFoR1pxcXo3bTVrb0o3bGlQYUNYWjFaZ2dBMnN2V2JidHJD?= =?utf-8?B?SXdLSk0rREJzWU5aU05YOXpRT3NnREt1KzUzMEVYTzBicWNIb1VWYmUvZkdy?= =?utf-8?B?NFZvTnpJV2x5UjZjRWMyVlYrYitHU0F5WXdJc0o2UlAvaWlnZXBVWWlxbThL?= =?utf-8?B?RFRESzcwWTc3VFA5TlJ5T2xmVHdDZ0NsT2xZQVpzZE8vSXVkNmozQ0N5SWJQ?= =?utf-8?B?WDJnNjlTT0cvUktNVWlGeTBNd01SQm5KUDhSTDduaGRsbWZGT28waG5FUmdl?= =?utf-8?B?WDNjNlg4Q2dSeUV2Sm54T0c0Mjg4Q0R3bUVLQTVsRzdmUmJXdTd0TzVBZE9K?= =?utf-8?B?cUxWZnlzaUQ3SUpGUHNCeGhieG13bG9tWUNBTlNWV0Ftd1RMTHB6bTNpS1V4?= =?utf-8?B?NWk1ZkRCejhBcmlTZFpVTDM3dmdxOGRXeEhMbnJDMWVNMmhRTEhHa3hCVUwx?= =?utf-8?B?Ykx0WHkxVWpHR0g2V2JKQzlVcmdNM3pmMFBEcGxEdXFVL2RyZ0FqS2ZjWHVG?= =?utf-8?B?UHFXQTlNdmJES0JBdXlSZzlucEExTFFRQ2lQUWpzQit1L0hyNncvcENidjB1?= =?utf-8?B?VGdlSkpTUTFCRnFsR1M3REQrcVdmOWhLZlZBMkFHcENDZ1p1akhVRVk5L05L?= =?utf-8?B?TzFQYnZzS3JOL00xMmRUa3JRZVdrOGRTQW80eEZGcEpYQVRVZHBQNC9ZN0Ew?= =?utf-8?B?S0x5aUdzR1REVW43cFBaQ0wxRzE0KzZHRENCZDFxK0hzVXh0TjVvam9JUEdl?= =?utf-8?B?SldXUEo4RVY0VlViZmkwYUVtL3lYaXJpQzRxMUtVWWtKdUViNEJaeDVYZVJn?= =?utf-8?B?bFl0dUJyRFB6T21IbWpDSzFQR01kVTlQcTBCNzFvR1JpUmFUanRjKzRHaWdm?= =?utf-8?B?cjk3Rkw3UG8rK3NIbGRCNGRVa2dKRWRKamRWeUpPbXlUVEZGTzF0TEV1V0Qx?= =?utf-8?B?TVJoaFNreGZ0eWhBN1NqUzVIbmNubUhrdlNzejlRdnlpYlJ0YWg3QUJrUGFw?= =?utf-8?B?Z2NabCtkb0xOZWRrUHlZa3hlM0lXLzRHazhiblVEditWcFF5cUV3cXZNOEsv?= =?utf-8?B?Z1dhZlFObXNhQnlQQVRkeU9heExYRHJOdTRlUGdhWlVINTQ4eXpjZTducm8z?= =?utf-8?B?cUhZTDBQdjg5UlBPandXNnU2YTdUNElpck8xaGhoaEhpMVFTRTEvRXE2Rloz?= =?utf-8?B?akxMb0w4WS84MjB4Y1F3aWN4UUNhajIrUmxONGtkZkZjL3hlMXkyU3VHb0xs?= =?utf-8?B?VFUrdXAxMUNXUXlDQ2E1clNzVThIdyt3RXFPb1huKzAvQm85TFF2VEJla3Ir?= =?utf-8?B?MkE0dnNidEVtWkJLOU1nYU9OVE50Ky9vUHMvcDR1R3BsemtJQVVQalZZRURH?= =?utf-8?B?SmdPbWhtZ1pSYlArb2hGRytKcEFRU05jWmRja29ZY3hQVnZRVGxTc1JBUXQ2?= =?utf-8?B?NUZzUk5SNkxER0FaTDhML1pFNm95akhtZVhDUzdFSjNYeVNsSThQK2dlOVU0?= =?utf-8?B?SkY4SW9ld0VyeEFxY29iYkVyaEpneldRV3RSZlUwOTN5ZkJyL2Q0MGd0dEIz?= =?utf-8?B?WjZMM2tWcXRXRktmUGFCcG9JUjQwVU1rOExmNkloVm11dm9tZ2R0TDlSS3hy?= =?utf-8?B?aEtlTkdSNjNxMXA3bThPc0JDaFBqM1B6OVQxNXF0U2lldlpkWXJheEFRNWVX?= =?utf-8?B?Q0JLVi9CL1dqYnF0bU5BUXg2VklHV0lxOHd4WVJxeXpZaXhUa3ltWU9VSEVl?= =?utf-8?B?NXRlZmcrNXkwRG1CZ2hEcDBmMmtyQVNxSGdobjY0WW1sZW1rUk1ldWo0ZjQ5?= =?utf-8?B?LzF1R3J1SHR6Z21pN2l6TVpqY3lLUVo5K3RXWlN5NzhjaHVVREFLWjd6cklo?= =?utf-8?B?RFhFM1MzNzUyalp3b0Jyb1B3TDhuVkFOMENrcXltOUJvbkZ1RjZ4TWF2cVI0?= =?utf-8?B?cWU5Q3pjNnp3bVdtRlR3ZU9YdUttaFNib2hUWDFZWjBjNlExRy9sOEs1Q3pQ?= =?utf-8?B?V2Z2RGx3ZTEzMVRHMklBWDRsZUJZVmF6YTRvWmFaaTRaVDJnTEppY1NFN01J?= =?utf-8?B?NkxoYmNpc1B0cjdXQUdHeHJnYk80Tjh3VFQ5YVhTRUdDMmdORnJ2b2dSOE13?= =?utf-8?B?dnp1bVJWUWZSM0tsZHlTbGlQcURJMmFJYzBvNHZtYVJsR2ZnZXdGMERybGM1?= =?utf-8?B?MURJcEZjcDZDQzlFN0hyYllJcGwzL0gzNzBwczJONWl6MTRYQjI5QT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ee6429d-d289-4ada-d895-08de4cac7113 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:44.9649 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: p6ne09EdsI8Oc9APv2IG96+fIi96FeeZo+3rTKs7Wk8VrUO2pkMItDClson+6IuqQipRPTZIUfSRYKYzmVl96g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Pass dma_slave_config to dw_edma_device_transfer() to support atomic configuration and descriptor preparation when a non-NULL config is provided to device_prep_config_sg(). Tested-by: Niklas Cassel Signed-off-by: Frank Li --- change in v3 - rewrite dw_edma_device_slave_config() according to Damien's suggestion. --- drivers/dma/dw-edma/dw-edma-core.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-ed= ma-core.c index e005b7bdaee156a3f4573b4734f50e3e47553dd2..71823c84639801a7ccf944c00ae= 54f1bcb068d96 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -230,6 +230,20 @@ static int dw_edma_device_config(struct dma_chan *dcha= n, return 0; } =20 +static struct dma_slave_config * +dw_edma_device_get_config(struct dma_chan *dchan, + struct dma_slave_config *config) +{ + struct dw_edma_chan *chan; + + if (config) + return config; + + chan =3D dchan2dw_edma_chan(dchan); + + return &chan->config; +} + static int dw_edma_device_pause(struct dma_chan *dchan) { struct dw_edma_chan *chan =3D dchan2dw_edma_chan(dchan); @@ -348,7 +362,8 @@ dw_edma_device_tx_status(struct dma_chan *dchan, dma_co= okie_t cookie, } =20 static struct dma_async_tx_descriptor * -dw_edma_device_transfer(struct dw_edma_transfer *xfer) +dw_edma_device_transfer(struct dw_edma_transfer *xfer, + struct dma_slave_config *config) { struct dw_edma_chan *chan =3D dchan2dw_edma_chan(xfer->dchan); enum dma_transfer_direction dir =3D xfer->direction; @@ -427,8 +442,8 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer) src_addr =3D xfer->xfer.il->src_start; dst_addr =3D xfer->xfer.il->dst_start; } else { - src_addr =3D chan->config.src_addr; - dst_addr =3D chan->config.dst_addr; + src_addr =3D config->src_addr; + dst_addr =3D config->dst_addr; } =20 if (dir =3D=3D DMA_DEV_TO_MEM) @@ -550,7 +565,7 @@ dw_edma_device_prep_config_sg(struct dma_chan *dchan, s= truct scatterlist *sgl, if (config) dw_edma_device_config(dchan, config); =20 - return dw_edma_device_transfer(&xfer); + return dw_edma_device_transfer(&xfer, dw_edma_device_get_config(dchan, co= nfig)); } =20 static struct dma_async_tx_descriptor * @@ -569,7 +584,7 @@ dw_edma_device_prep_dma_cyclic(struct dma_chan *dchan, = dma_addr_t paddr, xfer.flags =3D flags; xfer.type =3D EDMA_XFER_CYCLIC; =20 - return dw_edma_device_transfer(&xfer); + return dw_edma_device_transfer(&xfer, dw_edma_device_get_config(dchan, NU= LL)); } =20 static struct dma_async_tx_descriptor * @@ -585,7 +600,7 @@ dw_edma_device_prep_interleaved_dma(struct dma_chan *dc= han, xfer.flags =3D flags; xfer.type =3D EDMA_XFER_INTERLEAVED; =20 - return dw_edma_device_transfer(&xfer); + return dw_edma_device_transfer(&xfer, dw_edma_device_get_config(dchan, NU= LL)); } =20 static void dw_hdma_set_callback_result(struct virt_dma_desc *vd, --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013004.outbound.protection.outlook.com [40.107.162.4]) (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 08C151F4180; Mon, 5 Jan 2026 22:47:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653276; cv=fail; b=u+a0goXEzB2olv5MF6e9jwo9P0rZeYWeKUDkslx6wqBTXhW4aE1gOpVZmDhlrEH1TscbiXDAulUUKCd/ubFw3SUswmtql8WYNbNk3bxNS9C8jAUUmqLYSHFwYWfvjzQE82GFlQ7OlTJCOfrBBsBIwJEfyMum1C348k4V4+7oTYc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653276; c=relaxed/simple; bh=ewejcruFbomjZgPOCeq5HHbbhhrn5qa2Jbl57FOSR28=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ldI28iiHSvmbUjcT2T+BG4rG8Lcj0358/PV+Vl/Hmnqux1GsJJwuQASe98Bfg0rg6UTuQ67dHoToty2ZgfAS8M4ktKpuciUTOZGAWudVU6DxoqbCfhYUXRadD3yXORtkgLQdVueeyLkwlGVf2AraxGeMSyf+7PUJKPk71S2lLps= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=CN9MxiWo; arc=fail smtp.client-ip=40.107.162.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="CN9MxiWo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ccyBD9e3wIeAFO5KhYS3pj0+81FldWSMZuVCxdL1ZEbQQH2zfeetjbymTcl2yyWRXMQTb/N4+0scPRgn75Si5uAqEHSSrNjWoY0BovqEM/NTVFOYFS4xQBLh98a0bnLdZxKGP1Fy7CnkSj1huLaOp1bpFLqHIP4RdoflnMSogex+SYpj0xkzB6CK7fU4Ihju5p8YR6/G0CZ4O00djsxZIT3Q7qpcXhaVWsbGwsuWpfMYqikF+aDt1ROuW3V6kIXl7C9RpmX5KhwUyv8cvKvAY5weNFZLJV+YrTcxASxB4JCoQssbwClV3Qny694HmGrWGQXw6LtKDXyWAzZU3FtmJQ== 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=Bjo8TTTGAcC0CcTugYF/TIn/PBNqQnvXoDiOf2W6Kro=; b=BESDyEZtgRbmoD+l/jQ/ToWJZ8LDGJFWeb/SyUyWYi0701FttdC4foO6HwD4RZIpmxzYQdn7dqOf2dI3/GGpvJ/QOz6W7MbiJMLAnVl8nxARCpctwPXjqv0CzESnFHluAeILPduGztD6lY772sQSVegZcIXT8c5jGjHi4HuH0u09cI7W6hyg3nx0DI2bdoiWBC3hasyE0JxF6ulBKGbqZDEGnr8p2pCfLk32/4D1AAAPIY4Q3u3zLij3EKvHPqPRz2rhNPmNmQnu5ayWzJZjSxiU5sIvgzh/K8jW0CsQthUbESTTqF94NWIoqrY/0eZ2sauGrh3WgkJPkVT0R5lkWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bjo8TTTGAcC0CcTugYF/TIn/PBNqQnvXoDiOf2W6Kro=; b=CN9MxiWo4vG7zaXkuF6Eh1lja1aDTtup5NlqALwmsKdk8N9S0FdvSff3vTowvJgjNq9ZRPL0LcKbWxcgviQTHnthevOlWY/1L1GZu6DHt9opOGhJ8hYESiSH4aWC2BRphYpGBcHaM3FIy6anJvSrpr5sHKIRfnTx3fxvp+qqYONkKsN55DeyhbFZxmnMIKpgSxB2tXLR4mwm5168lIIHQLsJNIuaonsRn5F4dap+L7ZN96UN/DV2XpmVSBuo5wYMIjktLTTCANQcafkJ2ZI1irTA/6rVM1venALIWSLfsIzTCEtyNVRIqNFYzGQ8bcH1oovPINb/OqCxqad4AZHb7w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:51 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:50 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:56 -0500 Subject: [PATCH v3 6/9] nvmet: pci-epf: Remove unnecessary dmaengine_terminate_sync() on each DMA transfer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-6-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li , Damien Le Moal X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=1297; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=ewejcruFbomjZgPOCeq5HHbbhhrn5qa2Jbl57FOSR28=; b=8i2ugaRKBKyDDJj7h0IYeYwjuqzVlQC+icao9r2teUTT+gVm6soMtQ9YF1z+BYZEgoua9LIzq vJh3ulri1bECWCXyX80wEAbsEbaafaVCPoR/vi/XF5WcJ4586wuA1GC X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 785a143d-9148-4640-9ba7-08de4cac74a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cFNsSjYyUlJNSHBTc01BL3pNVHdIbFBoY3lkMFcybDdtWGozQXJwbkZqY2RT?= =?utf-8?B?Q2Z5Wkw5WEFLb2pWMHhPUjdzTG9jSFdwQ0k4bWprRkFwVXRGZ0Q2ekN4UWxK?= =?utf-8?B?SFI1dXpDbGtGdVo3RUViQ1NIZmIyYVhzb2VVQ2tZOGVqdkNEREtrR0w5Yk1q?= =?utf-8?B?ejg1aWs5T1kzMDlGajcvVTVrOEZmdHFkckxNWkI4eC9XOXNoUXZVNjlPWHdE?= =?utf-8?B?MmdHUkYwOUZ1S3VJNzdFdWN2OWpnUDhqbWc0OVNVSHJXYXdwVFpmMlZTV1Zr?= =?utf-8?B?MlorS3VPWXc2ZEZPMFR4d0Q5K3RJeCtseFJoOG8xeTh1eFhFUWthOTREelJN?= =?utf-8?B?NWNUc21rSjhyYmxHZ05JZkp1Nkg1c2FJSDdVR3JOaWdyaDZVMGd5Q0U5RDhY?= =?utf-8?B?VEhkRHNFUTdNZnVIT2xtOEN1aS9hMnVvb3lZbzFWc1B2RVJGZ1JmY0NYRTMr?= =?utf-8?B?RHlSRXh5REhjZlE4WFZFenV3aHdqZmV6VXVaaDMzd24vdlJjSU5IS3VmbDlv?= =?utf-8?B?bDN3UHhTNTl2UGMreC9ENFN0Mk45dmtVVDZ1REpFNUxIL2RMWGp5V2hJUjJv?= =?utf-8?B?RHQ3RDZKTUtYY2VoSGxWdEZPY3BXRUsweUV4UE9DeFBOSWgxcGJ3akdJZHRY?= =?utf-8?B?dHErKzMyRy9IWUFicEh3aVZTVVpIV1pLVU43bTNFYS9QSXRUdENpT0h5emdz?= =?utf-8?B?YUx5RDd0NEVLb3B6d1hwYTJjdHduNzQ0ZVp6WkVHM05LTGxxeTZ6MmlJRDRt?= =?utf-8?B?cTM5d1dsWmVkNXdsVDB4NkJtQnVTZWZkOVpidWV5T2ZqN1U5TGpPMkpjZENs?= =?utf-8?B?L0RGblRZcmh2Ni8zMFVlMC8zaUtlOUdrQTRJRTZGR2pwUzhaMnN6b21pRlRR?= =?utf-8?B?K1hZRkJKOXBqd0JWL01UTy9HckFOSWFjUWhNazRlTSszc2x3UGt2djBiVkpp?= =?utf-8?B?SFZ5OCtKSnczenJDL2dJK3FqQ3hGeWJVcWFwR0Zwdm5HMWpoUmJ6R29mK3Rx?= =?utf-8?B?blF5MCt5emV5b0dCa2xtNnJmcC9oT3FDUGhoVTNJaU9FUzBSaGpUOHc1L2tn?= =?utf-8?B?ZkRiUXJ2NWYyeUh1TTc4cFFRb0R0WVJzZUc5OEY2NnlPTUprKzcrdm1RT1h5?= =?utf-8?B?Tk9MZVRwaUlSb2dheHdaZzVIV2E1ZFprQ0hqa3RldENkdmJlZWwyaStTcE1y?= =?utf-8?B?VVM0WTR2SURVK1BEdFM5OVkwdjFkOVNtUlBtU1ZvVGo5YVFWeDZOeEh4b001?= =?utf-8?B?cG9CZU9WcGgwcjgyUkxGTERpY0NpV1g5VENoWE91Zm0vei93UnFMT2V0dW04?= =?utf-8?B?VFU1ZUhZaFg1VEdRVVVQWnNqaldmalpkMmVaeW5ZZkk5S1lvaTNTV0FTcTI1?= =?utf-8?B?ZVFrdXZPSGxBV0ZINnVUWU9GaWpEY3BGemZVRXZhbFp1SkRZcXpaMUcwUk1m?= =?utf-8?B?bDBlZDYxUVVmVk9HL1VlUHdodEZRejM1akNMUHdBZmpnbm9YbEZqb3hqOGtq?= =?utf-8?B?SDNVNEpYQkh6NFRXNllIanJzU29pU3ExalFsbWRNckRKVXhjeUdHRCtsNHJQ?= =?utf-8?B?a2ZJd0NLcVVJZjlpTWlyTDBmamd4TTdacjMyTjQ4RXBPdjB1c3RqWlZYWEY4?= =?utf-8?B?ODRnK1B4UkRwR1p2TkdFcFp1WmZvTmk0eVpFWTJqRVZETzZ6cC9MQlBoeklv?= =?utf-8?B?Y1NvSThpOWNMMjU2WHM0RVFoQml2Tm4vcy9qZklaR3RqaHdDNGdEWmdFenp0?= =?utf-8?B?L2xMSWlMM1ErWElTajZjOGlaemJSdTh2VEl1NFJ0R0JJcFppK1FoVDl6N0ly?= =?utf-8?B?c29XUjBkRmFFd2c5Y1FkanJyZURCbkdjYW8zRmJvUkNZNUlmTko0QnZzRlhm?= =?utf-8?B?VU1uZ1NQaFNUMzkvOVBCelhwbmk2LzUwb2xHSjRXdTVabmNEejVsRnhmb0hq?= =?utf-8?B?NzF5TWkvcldJT0NkYTNwVWx1Yi96TzhDclFUeTRQWVZkV29OdTRzVnQxaXpQ?= =?utf-8?B?R3owV3c4ZlJ0N1RxZCtYS1pHZ3BkcE9FdnhVOTR1eXkrQ2poMmRta1hySlox?= =?utf-8?B?QnNyLzVxYURHV0ZybEo1TXp3enJkU3FIcGhaZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VGpxMGkyL2NNT3I3UzRKSnV0dmRkSlZoVUFTdzdiMnRSN0RhYmNlZ1l4WGpP?= =?utf-8?B?SGIyWmttTVFzSi9DMjNMbUlFY0xZcEROdlc1SnA2a21oM010SXVlTENYaUg1?= =?utf-8?B?QzJINXVRMDg3alBGeUtybkQwcWpjV2htaGNPVEtTSDZaZmJLdUxKQWMyUDJ3?= =?utf-8?B?Ylg4RUJ5U0hmVUx3OXIybVR5T1k5aiszTmxhUHVXQTRPT0YvRjR0RExsL1BY?= =?utf-8?B?RFJQaDBmRXlrVWVWRmJUUkEyRGR6NzZ1aVdTUXdPTjFlRHBoV0o3ZzlEVWdl?= =?utf-8?B?RnNRQ05EK2tRcVdvTEtzS3NsN0JjcHViNmczT2lkS2JCUDJ5RDNTMjgyTVhD?= =?utf-8?B?U1RiMzhicTV4YStuRFRZeW4zZjV1OTkySTF0MkNRNVJia3Blb1FpT09NS0pK?= =?utf-8?B?YzJKb09zdHpubElQTWo1WVkyK01VaWFDd0t3d2FaUlEyREdvSmJvZTFoNitM?= =?utf-8?B?d2lTd0w5Q1JreEJKN2NoNE5GUFpIa0t5L044bnFzRnZxaldjT0tpUGRTajV2?= =?utf-8?B?anBBdGRsa0kyZ0x2QUZFQ1c4SVdSUGxPYXE2ZGpySXczc2lHQkVBdlN6US9N?= =?utf-8?B?ckNKUmV2UEJIeS9HUk9iUmlMcU13V1VYYlNXUGJwSldzUVNyVkdqOGl2QXd0?= =?utf-8?B?Mkxub2lhUUNlREZIdzZSMlZicGhYUkNDZE5TK1NHMng5ejk5TTVqV1daTzBY?= =?utf-8?B?Y001QVQ3cDJ2cU9UbGlGUU4rcUllK0F2OHVsTmx3Q05TYTdFbkRiZG1STDZT?= =?utf-8?B?aUg5aXVNQlpud1NZRDhHT2ZZMDU0aFluY2VPeVpUd3JheDVCN3FDSVJxcnow?= =?utf-8?B?V0w5bjhPVzlTODZwK1NYdXBwQUVjVjlOQ1hDZ01zZCsrZ2hmVHdSZnhKOGE3?= =?utf-8?B?L2lpNDZQUlNRRVRic3dzcnMvOU96REVIM244b1ladlhUbFh3d1ZCVlF3emNR?= =?utf-8?B?cm1qbmYxTG5IbVpacXhjVjN5b0F1WmRNRHR0VFZmcHZlMVVOdlMxaUIrM214?= =?utf-8?B?NFhSYVBhaDZJK3VsUE04VU5qZlpmS3I2WCtTT3ExNTIvY1V2RzBiK0VVR2pY?= =?utf-8?B?aFBCaDN2OTZsM1l4a05yaWhXMVk0MTBZdWJGdGhMMThGSFhMZVFEY2RiN1J2?= =?utf-8?B?Y04zT2ZGN1RmWmkxZHlOaEdMYzBzVjNzOFI3R1VPTC9nVndvK0o1ZzI5NTNG?= =?utf-8?B?RzBlQngxOXJRNjkxMFk1NzNqbEtMTUJ4Vys2aHNNUlRxMlFaUWd2MVoxRisw?= =?utf-8?B?L0FJbk1TNUo3S1hMYjZyQ2s0VmtDUDJ3cE0vZk5xQ2tpb3Y1RTZ4NkVib1Ay?= =?utf-8?B?Y09FVGxhTFBacVEycjlHTkVCdkV3Nk1nSTAxcGFlQUJKOXhJNHRqa3Awa0Nm?= =?utf-8?B?WDFmVSt3RXlIM1ViUmJsdFFXeXA5NWttaXNhSXcycyt0M1hxUURaaDFzbmhP?= =?utf-8?B?b0M1RndXZk9Wc200cnpBb014UnkvZk0wTE5lUVdkelcrb1VtL3Y1eHQ5MkhN?= =?utf-8?B?Qk1kWlJLM1hvendSNHFvYU9GTmU5TDBMM1J6dzdOaCtZYUh1b2E5MjFZWmll?= =?utf-8?B?dU9wWDgwS0RBMGlhQkNWVm1rKytVeFRmaTFzSTFvdmpwd25lWEJuKzZrTXlR?= =?utf-8?B?YUV2VzZuRHdzcENEb2lXK1N2dXRnU0d5WGRSY0tGcjhpWDFJUkNFbUh1akxU?= =?utf-8?B?ODZ6QXp4T2FDYUhkN3hkQ1FKTU1OMysxZnE2elBabThad1VZWGVjQVJxQTJS?= =?utf-8?B?SngrbllJYW9haEdUUmtDU1l2UHZ4RkcvaXRIdkdzL1YwTEdQd1NpWitoNkdt?= =?utf-8?B?SCsyaE82Vlk1WG9kV2ZyQWpWSUpTU2taNjBHRWQwRFRQN0JIbHZzS2RpRStS?= =?utf-8?B?bENLYzFVOG92MXBxRkd3R1ZzTjhtb2NsOGx2TXJhVVJlaHBVVzZ4eTl4b2FX?= =?utf-8?B?eU43RnFaWDJudk5PUFluSE4yV3JSRDI0L2VoYllWckN4YW5mTWRYaC9tTFhz?= =?utf-8?B?UjhUT3h2dlA0MSsxOTkxTUlvVENtSWpOOE0vRUxmK21FUFQzSE8xb3gxbS82?= =?utf-8?B?Y0VBaDNROXN4cnJWREU3eEVEYklhZVVGOU9UdktjSW52VW94Zmo4T1A0MUJM?= =?utf-8?B?Z052bzZJTEVXckxzN1BxdjhXUW9PK256M3hmdGpjWkp0OXFXRXNYZXlJTnpz?= =?utf-8?B?OEJ2V1U1L2pmZTB0VkFVWElFQTBXamhFcWZVUG1yTkRjVGFjRlBkRGdUVWps?= =?utf-8?B?VjArZDdNejQ3ZnBJVEtJWWFhTzVnVkRPYWxJTzRRa09NdmFydUg4a2FFR2Vy?= =?utf-8?B?TFRxVVpFUzFqTVNDdDR2SVZjVGFmWXZQR0Rza1RUcW9hTTlFekxPQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 785a143d-9148-4640-9ba7-08de4cac74a2 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:50.9133 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4Uk12dKf3FZ4+4mD1NPeBQKpOFstcodsweXrNmIw2qF3/qbQnQfeF/C5fNaQ/2FXLOBxsh4JuS80gUZR0cqF4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 dmaengine_terminate_sync() cancels all pending requests. Calling it for every DMA transfer is unnecessary and counterproductive. This function is generally intended for cleanup paths such as module removal, device close, or unbind operations. Remove the redundant calls for success path and keep it only at error path. Tested-by: Niklas Cassel Reviewed-by: Damien Le Moal Signed-off-by: Frank Li --- This one also fix stress test failure after remove mutex and use new API dmaengine_prep_slave_sg_config(). --- drivers/nvme/target/pci-epf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/nvme/target/pci-epf.c b/drivers/nvme/target/pci-epf.c index f858a6c9d7cb90670037a957cebdcbf17dddc43b..56b1c6a7706a9e2dd9d8aaf17b4= 40129b948486c 100644 --- a/drivers/nvme/target/pci-epf.c +++ b/drivers/nvme/target/pci-epf.c @@ -420,10 +420,9 @@ static int nvmet_pci_epf_dma_transfer(struct nvmet_pci= _epf *nvme_epf, if (dma_sync_wait(chan, cookie) !=3D DMA_COMPLETE) { dev_err(dev, "DMA transfer failed\n"); ret =3D -EIO; + dmaengine_terminate_sync(chan); } =20 - dmaengine_terminate_sync(chan); - unmap: dma_unmap_single(dma_dev, dma_addr, seg->length, dir); =20 --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013005.outbound.protection.outlook.com [40.107.162.5]) (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 0BDA330C62B; Mon, 5 Jan 2026 22:47:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653282; cv=fail; b=moBcr4A1awzEhdeO8zdRyHKcLohdXiU2awnDU/s9z+aKZaNle4346NES04j4pRWYNCT7oj/iEJwt/leihCgjS4oLUPXGdSa/JvxVWFgDJagT82AL/GQOfp1+VIEMYW8OnEjXRrVHfv5aiT80hruvJRXeM9EPTZQBJNGszzZI35c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653282; c=relaxed/simple; bh=yXmKgWAZqHe6qd/69hAbQxcOWyMkMi3R1BS7Iv+TrFc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=i20d63K9oitZk3qMvT1JNteycf2Z5l27sCP3J8nO+bwzP9f7iQe4Kh5Ru+UcIImVHJdptxkRCVVPsqgFKboh01g3fwiXcdWwaCPE2HhUs1cz936dqX7DZg1mHusnnWauaPFCBGkGBBZd2+OIqM0gbH1yYZSrk2onudCQX4lHqOk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=CA7asBhU; arc=fail smtp.client-ip=40.107.162.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="CA7asBhU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HQsLQsA8LOhQEjcem2T1+hiJSnvQB8ICDMoMIs0cVpptySRwfAtusTM3Q95qZW6/261nxfCzOrsITMsmHiD9BdMdpJkHRYZYf0HwmQU9rciXuE5hBv7OwQ1JXDV/zxlgZ0SlFD1cB59seYlZh5Z4We4wQZOMyXeJpRExrC+JA9X1qWnD83bCo5u27JiVXQ7CZ/CgR3K9oP2bs5cIb4gtPIPSLCY4PnRdkf5ugf9zXBInrjaQbPtLNT7wRM5Lsjn176swdBrfL6d6K43qv6IXIv6FHGlXQFk0glSS/OF3DdWhlwelXataMxONgYtr1lStjvyUKEptgFRthz5w5gFZjg== 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=ENrfJQ39lgQsd9W6FP4tnLJDLC9UpDI7fpf/3U1ezNs=; b=kAdUB0UGzaJob2v4c6SzAfU6vaz+MWoXuamt6dC8m1iCWC//6VlzbXSk8EBTlsVLQkQD8MJ8YC04nfnQ3yqUmec/hhQtXT41vKBAuosUIN9V9Ja3zTHD4PoJqcuivHaDoRh1uJyrWqkGzgVyMWvJtFyRxfKhs9AC6cIc+LZKEyh9czKlRW2fWQByzoiUTT6eP8LDBCnyD4yJBhy800b59bmAIbcicADhVtL7+plr0TgTb7+j1Dt7f0Gzxm08szdMQT8un1cH2kY4gAuGT5ZvBBm+oMGO9oTT0irhAD8RWf+z3ZW/ZATrdn2qluJfEH+sex5XHq4kWDRm33o8Ii0OjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ENrfJQ39lgQsd9W6FP4tnLJDLC9UpDI7fpf/3U1ezNs=; b=CA7asBhU3W59huPFa96cvvbUbtUtWALoJ6tfXhI78AAx/kQPtgxgOZxiIItkztlNBjCsQqrW0qJbCthsbl2WHh3/iYKAt6OwxBOd1/VSe4QlimlWuAAToiAtUkUJ05A5J26WP9q+IYzC6z+YsSFlQ3/IzOTRvrYok1WcVAPjnYFLYlrpg08CHBnCTXp53m8jTYT4it0012il2bs60FAfMXpQIAmf6+fZiaPub767Vg6JMpQhxpeIrmqsESlJZBCwVI9gbS1brh5DPIcJYHdZho5XQrdmRLtHLQLpNmx3orbjKFFPn69i4Q2paYP9JYS/LLNdpLB5WklfyBymeUuVPQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:47:56 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:47:56 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:57 -0500 Subject: [PATCH v3 7/9] nvmet: pci-epf: Use dmaengine_prep_config_single_safe() API Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-7-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=1756; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=yXmKgWAZqHe6qd/69hAbQxcOWyMkMi3R1BS7Iv+TrFc=; b=PP68lpG0Gvi1xOpZqBUJibsLEn/fLPkdQMUJ/MHBsLIHitQsxZKlVuHRORGTDjAnOI5PrpFxv HxGEbAadnP1D1zH9LvJOiNJiWbB/73iCaxhsK72P8aMdL8xLRYWfPVP X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: b8206449-8f4e-407a-dab5-08de4cac7815 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MURuVWhibDhDVjhRMjY3UHd4Q25IS0hpbENGWTVKNDRmUmZEMm0zTWdYWWhH?= =?utf-8?B?Q3RwaExzSXkxdW5lZjJ5S0IrbDJWUnl6WkxTYWF5WS9yTTFXMVRWOEdRUm5F?= =?utf-8?B?K0pha3BXVnVLZnRnNFE5UjQ2ZFg2UlBwVUNxU2xDTnRIYXBWVHJJQXUrek41?= =?utf-8?B?N1FkYUlDdWZ2ckFDbEp4MjI4N05FM3hJTEVUNmFLT1BrengvY1dLVlFQcG5a?= =?utf-8?B?NlNwcGhyclE4ZFcyMEpZT3RHMWJEbk5PQlpiN1EzSWoxeUdvZzk3aFZtRFdV?= =?utf-8?B?VVhPdnVOdjhiSkxHTHJpZVlQZi9sZm1kempvUWowUDJtS0VOSElvR09Ub2gx?= =?utf-8?B?djRzcDFNdTVab3ZpTWNBdUFXVWVVdWZ5UlVidG8vMkVDRlF5NFZDYmNoQmpN?= =?utf-8?B?N2hUQ0lUbmVQZlNyR0RKaWIyalhVVER4citMUGdFay82N1M5ODVocUZoclRM?= =?utf-8?B?QkY3Y3c0dVBUOWZ1T3Y1RHJvWExiODBuTWgrdTRXUUE2ckI4a2kxeVB6dGhu?= =?utf-8?B?NjlIWWp2TWM2RDFvMDg5cEYwMTdiMFhQOGx6KzJabzN0aEFzRno1S3lERVVC?= =?utf-8?B?bnVOYVpLRi9TWjd2QzRIMkxRTTMrOGN4RWxYajdSbnlJZlN0aHI5cUMySk9C?= =?utf-8?B?aFVRckUyekRINEdrUENlYWRTU1ltS3pxakwxTEo3cTd3aFBXQzBHc1RUcjVn?= =?utf-8?B?UWNWUXo2R3BBVGF6UzIwUSs3VzBxU245VXRwNGNXWU5aL3VXSmE0bDZlRUw0?= =?utf-8?B?TEx2Qzd0NURQeS9jK3g1QmdUOE8xSFVzOXFYK0QrRENUMU5kVnI2ODYreDBv?= =?utf-8?B?d2tZcXRkVGQ4bEk0dTIwZWVIKzN4c1NFaHZ6LytlUjVWZllWZEd1OHN2d3FT?= =?utf-8?B?b1hvMUZtQVZOWXFmYUkwMElkZnZ5cWo4NmVTZXlDMjZDRlhqVVRxK2tmR0VT?= =?utf-8?B?Sk1qNTFiTjlxWDIrWTRIYWx5bGc4QUlMcmI3NXEwSlAyZkpFRVVEbnhJeDNK?= =?utf-8?B?eVFOcy9oUys2WHc3L0YzMEZYdXkyY1d4RVcxN3p1QTVQVGg4bFV1MVVWd3Vs?= =?utf-8?B?eU5MenRmSU55YVBJcVp6cEY2QW96OFNvMEhPMXRvS21EcWJhZ1pBOSt0YmpQ?= =?utf-8?B?L3psSFIxSE9OeGxXV3kvV0lXREYwQ0wyNTRSMHZmQmdYWlZON2lDZXluaGJx?= =?utf-8?B?Z3pQYk9RMTFTalZNa0tjbUJFazZPQUdVamtLdVk2V2lKZzEwODB3TDVuUE1q?= =?utf-8?B?TDZIT01WZjRGUCtBclRzMXNrZHRLc0RHVmFXeUdXak1ybktDbHROS1hWYWFo?= =?utf-8?B?WktDeGF3S3hTSXhraWE4QnJYWU9ZNDFXa0tUQ2RJR3Q4RUdXajRCR0VWeDdO?= =?utf-8?B?blZLcnRoUGJvZDVndVFoL0ZrS21URFYwMDZxMjhaZjFXcUVxZG9WUWx3T1dl?= =?utf-8?B?UlRFTzhYSUNsYVh1QlNZSHZBUXMzUU5FNFpnb3QxVHFUOFFzem9LclZXNXRO?= =?utf-8?B?TjMvNFU1Z2pzcVdQc0NRRHhQQVh2cml5cEQ3MEZERnFiQ2czRXRTcjlOWnZz?= =?utf-8?B?T3VJd3R4aThBRUQ5eDhlTXJxVS8yYmtWaXBVQUpXaWsxajF1cXRsd01MeUNI?= =?utf-8?B?UHBpK0xwTkZMTE8zRVpPckU1S3JpTTUvWFJ2TVAzcm0wenJTQkdXT3hBVjZr?= =?utf-8?B?dWxhN0h4UVZ2V0s5N2RzbmpsNGc5MHFIK1k4eTJ6YWRBTTVUdFdmdzRGZUwv?= =?utf-8?B?eHozUld0N1hIODVROWY1bzJrcFI2WUJ6YVQveExJRnl5SXIzSlloQkJUMXNz?= =?utf-8?B?dmQxdTJUTmdkbTlOb3V4NmpPRHpKcG1SZ3hEVVBIdkNLMU5nWVVvaldQUndl?= =?utf-8?B?M3k4d0F2bjBWT3dFVmhZMWZDTmZEenM5d1ZGd1ppWmdSNldCb0lDOXhQRmor?= =?utf-8?B?aHh0YVFPeWhUS2pSZWI1S1BtdlMvc2I1RkxKLzEzTkpxYTlET1k5MG1RL3Bi?= =?utf-8?B?bmpBMzIzMEdVMXZSOU51bHNGL1pBOXFJM1dwbHpWOHBpdGlVK0RJUXhXRDlj?= =?utf-8?B?eUNtbjg0TDRVVzFxTXVjamxlODkxYVRtWTdlUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UWtZRXJjV2dYaXZJNG8vM0hndjBHTVZKUjhWNmZIWWl5aHcvaUVwbjdIVHJq?= =?utf-8?B?NlhXTGJrZDRPK0lPZE1USG9QYnlDeGFKaGNkWVZhVE5ZOGN0Q3VmaWl3YkFv?= =?utf-8?B?MTlwdmI3YW1HYm54a3BwRk5LZXNZZUUxNDNPbmwvN1FOalN0RjF5UVU1N3NX?= =?utf-8?B?cU1Rc2xBTHBCd25kbis4cVI3dzg3MC9tK1RrK2t0bmVDUnpqeVBjb3hmWlMx?= =?utf-8?B?dWNWZGhTK1Nac1h5VGdVRTBNdHBSaFdEaGMzUFNmcXVpQjA4Sm1sSVFKSThT?= =?utf-8?B?bGV6WGZVWnBrMDhBRnRTWE85S1lWekQwbE85eU1KazJQalZEZGZqMDliL2lT?= =?utf-8?B?QWJ1T3lDMkI3WGRSYnkwczBTbHBrdGVQODFHdVdhR3BtTVc5aGZWOUpGYng1?= =?utf-8?B?UzAzc3RrdTc4WDVzckNIOWIrWmtRRGNuTExRS2ZuVXdqSi9kZHZETnlUUTJp?= =?utf-8?B?ZzJieG0xazFvOE1JbGlxcGF6czh2TFBiNFMvU1VzYnNqTXovUU5kMWtxOWhz?= =?utf-8?B?cWlkMVZtMEFNTWNNbXVvblR0dDRtSlNzUVVCMlJvdll3UXN4Ky9YellOYVps?= =?utf-8?B?WElid0V1Y0I5Mi9EbVBQQVFFZUVmcnoyZUhXU01ydXhMcGRGblBHZjVwT0lr?= =?utf-8?B?eTJLY0NtT3FWOCtxSWFDNWR3NVNSRnZSTWlKRng3ZjRYRjVuWXRWclVnazNM?= =?utf-8?B?SWp0bS96MUhRdzVJU1NGRmpFN1NSNmFLdGJUS1hBYi9oOFFCTGlCVitEbUZK?= =?utf-8?B?M2trV3BMTFNXU1grd3l5SnlwM21INi9YYzQ2bFpRcGd1ZkFrNGx6Y1pqYUcw?= =?utf-8?B?UUdnT05uQk1PeTFWZTR0aExDVytaOEpaNDZZYy9ZWndtOVJXNkxXVkFDNHl0?= =?utf-8?B?Ky84alVKRVRnQkRNVGRWa3Y5WFNKc2FsQURUTHJhZ21adHpWUk5OcGxEUXh0?= =?utf-8?B?UkcyTi9obnNwQW1DdEEvK01YNEcvMWo2NHAwc0FKNlZBb2JXZXVOOG5vNFdW?= =?utf-8?B?N3pRQ1pSWnJhdFEwTEpLUzROQVJDVXNQMU9IcUdYVTVPaHppU3FWZmhGQ2pB?= =?utf-8?B?NmExK1d2K3Q1R3RBRW5YL3Z5Mkt4QTQwbmtWRnRBZVNQQ09rVmw5TTBocE11?= =?utf-8?B?SW5pT3JBd3ZBSmVIb25wc3RjREtzczYxNlNCLzQxZ0pQR0JkR1pDWSsvdldK?= =?utf-8?B?YVRmd2gyY2xzckxzTmhKN3lRTTRJZi84bmNVTXhWSDl5NGFQNFhBOUxsQ0Zm?= =?utf-8?B?UlBwVTQ5RGE1eVFJYkR3RjREOG1hWEo0TzFvUmhMUVdDVTZWYS9weUZzMTFa?= =?utf-8?B?VWVkTmRMazlmSFVYSHQwd0t4TCsxZk9wbXVxUW5kNVVRUnlsYS9WdnpkYmNw?= =?utf-8?B?NGlRUDlRSFkwSDA5SmE4VS91TTR4QXpYWllJV29UaSs2ZUZ2VmRpaXFqRG5M?= =?utf-8?B?aUhPRlhQTzBMNGdLOVpvTGp0WmhBY0p1SUJUS0RzU3dnV3ltT1BxRS92UVpV?= =?utf-8?B?cmthb0lhNWRsSWtyVjMrVy8yR3A1WFVTODRQTEhSa0ZvK1lJOG1YS0VBUWdy?= =?utf-8?B?NjdHVUpESS9nM1l2azE2eHNDL0NLK2F6bFVIc1VBT3I0TXdubU9WMXcxK3ly?= =?utf-8?B?TEVxdGpyU3E2NVc5Qnl1T0FqMTFmT2RacWdTOTRuTzZRYXZJbnRKNjZVWDgr?= =?utf-8?B?bVpyZXh4SER3MER1dktEWEZpbzZ3SEFIVEVuK3hjWi9Vd0VSayt2Z2xCK0pN?= =?utf-8?B?ZHFtMjk0L2dXZlNLdU9ONGZIQ2dFRGcyU3ZSNFZLYThpMkEwbENNWHhaZ3g4?= =?utf-8?B?ZXh5am9pbDV5QU9ZTHZ4cmRpQ0NKekZ6c01Bb2xVK0JnRjdEY1o1UkFaYTFP?= =?utf-8?B?bDFGQlNsbUpjeW5abzBBcHRBM0FwTjE2cFpLV29ldHpxb1Jaa3o2V2tOTTNY?= =?utf-8?B?ZGpiaUQ4alYvZmpUUVR6NndUMDJJYVhQNTNqUlFzUGF5dDI5Mm1mTytTT0Mz?= =?utf-8?B?dVlibjc1NGdkcTUxT1FZTkdmOVZoZkRRSG04Zk5YUUV6SUtOeXpCYUZmMkRL?= =?utf-8?B?S3djRUdVd0RPWElUQ3FRWTFtS1l4cm11bTJsZ2R3QXl3NG8veVlXR1hkeWU1?= =?utf-8?B?ck9PNVk2ZUxLYk9lRFVhUUdGVWFQb3RIdnFkcXJwNkpPSnBZNnF2OWg5RnpF?= =?utf-8?B?MkhiVDhqaFdncjJZUWFFd0VMTEJzOUp0RVFmdSsvQ0ZhRnpIRXA0TjZnZUJL?= =?utf-8?B?M0p1bE9FVk00N3RtRG4wWFRCWlZoSE1yMXFjNkpSSlgwcTJlK29BbGpWVjVt?= =?utf-8?B?RTVKdkJiaGxWRjR1QThrMW5HUVZ6T1hoNXg4c2g0NnVDd214U3B5dz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8206449-8f4e-407a-dab5-08de4cac7815 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:47:56.6889 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8jaKRyy+5A/WlfT2uNVqOWPKY7RXzGlOrT5/w6Rq3P7LlTkMaQCxxOTwWykuHSWuQk/lZoZq9qbEIn6omde9+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Use the new dmaengine_prep_config_single_safe() API to combine the configuration and descriptor preparation into a single call. Since dmaengine_prep_config_single_safe() performs the configuration and preparation atomically and the mutex can be removed. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- drivers/nvme/target/pci-epf.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/nvme/target/pci-epf.c b/drivers/nvme/target/pci-epf.c index 56b1c6a7706a9e2dd9d8aaf17b440129b948486c..8b5ea5d4c79dfd461b767cfd403= 3a9e4604c94b1 100644 --- a/drivers/nvme/target/pci-epf.c +++ b/drivers/nvme/target/pci-epf.c @@ -388,22 +388,15 @@ static int nvmet_pci_epf_dma_transfer(struct nvmet_pc= i_epf *nvme_epf, return -EINVAL; } =20 - mutex_lock(lock); - dma_dev =3D dmaengine_get_dma_device(chan); dma_addr =3D dma_map_single(dma_dev, seg->buf, seg->length, dir); ret =3D dma_mapping_error(dma_dev, dma_addr); if (ret) - goto unlock; - - ret =3D dmaengine_slave_config(chan, &sconf); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto unmap; - } + return ret; =20 - desc =3D dmaengine_prep_slave_single(chan, dma_addr, seg->length, - sconf.direction, DMA_CTRL_ACK); + desc =3D dmaengine_prep_config_single_safe(chan, dma_addr, seg->length, + sconf.direction, + DMA_CTRL_ACK, &sconf); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret =3D -EIO; @@ -426,9 +419,6 @@ static int nvmet_pci_epf_dma_transfer(struct nvmet_pci_= epf *nvme_epf, unmap: dma_unmap_single(dma_dev, dma_addr, seg->length, dir); =20 -unlock: - mutex_unlock(lock); - return ret; } =20 --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012029.outbound.protection.outlook.com [52.101.66.29]) (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 55E2D2836AF; Mon, 5 Jan 2026 22:48:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653288; cv=fail; b=RDXR0Z8nj9rNeyZOGNdBaeKcclNdOKfXPxW75lmUyijIMMkMtI7X7gRy8pPMdRCSnpCfnmiZTlctZeomO7QOEQV6F7kSodAAhDanImQWTlKgCx3o9Ijb+bpB6HiCeM4Gi3YLsItmnrk84RGHHQzVt8WMrSPOcPO+CA3GoNsTvGk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653288; c=relaxed/simple; bh=y2+PfL2H7b1FUgjqeANH8jwnoWP1hvs/HDEhP+Ko9ic=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Fjka8zD8Sju79KQS1hZl29Umb31Wky3A1wN8gu3yN0jNLT0RSWUeNLpEbd5owbwrnrrpLooJob9wN16AkOKGVP7jO2iJ/AIOCaAA9HqFhDH3TVhBC6eGUINtDz7bs+0WTl3oaWeToBQlGIKDuSMLiSpW/QghsOtayZWFGJgjT/c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=ec1s1ZvG; arc=fail smtp.client-ip=52.101.66.29 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="ec1s1ZvG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Leauxuo0JEAxO0yCH6KC+x2pf0OvADzqTkSQAeai3qb0EzWrGZXHHIJq30b2lomMD/l5isyz5doXzP8ub1z8Jaa0O6MvANvI67LlzAvMFnxZG0pIsurxBGXdwWLuoCnoPOWqhUOgfAj+XDM/typGVtzgGHGYkaoJ51SuvbXCN9L/2EQkqa7CeeVlHUGN38XQI4BrLWy3a7pKWg7dQRkKOXWIwqOXeDTjqrt48IwymAhdvDYAB4ToH3YDw1gVZZ+SfxJDep2NO5xYw8nznfv8aXcwhH0h21QvX9VOKyWtX2ZCOpOBleAoRQt0TRKMdyVmSiT39RwcboQZsj8Nah0uGw== 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=Bwjk+7+Yxg8aO8dUdJlfm7y3buwrxqjEUHZvv97CBHs=; b=v3inQd4f5jib0fvt9rjmgZ/94OnKiSglyM3wHsj8LlvQN7+80OgEak/ZuY4POzw18eb90ySBaQWu/1XZT6hDZZM9L0JMUuKl57pMs3Cp23qzPSqYgtwStjrs4KZ3fMEQuOs13wzs0YWCgTRl1rEN8diC+rCN/o8nk8WbdPumG58AdpLhJyFL6fKtCigowpOiTM0uACrs6+uLhkT1Zn8VjsCzmEC9FDhhZjAWoM4EJo36gTz5JyCLqvYrvPnauQ1DLZ+g9STx9nEWxJP/xqewJ45wgabDiozYOufJEUwXWRb+HrDjhrhSQDCuu9bRffTiWRPWqPLKAUxELhMQZm6v6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bwjk+7+Yxg8aO8dUdJlfm7y3buwrxqjEUHZvv97CBHs=; b=ec1s1ZvG9RU9ofs3zz6ZxFKmY1Xm06RaCpNcar+hqr0eCL3dkdX9dbPnrk0yCAZWeaMLBenPrOzPcva8Xdkf4rQj/EFuzAmse23YjuD00kbnmF157FjARjrXn17TAAINrOMYctBE2VPS22uMPjG3mqlDWu9VZTom3Jvi9KisbDJiBSPwuiR2tyEEK9LgPG7pePY6H03rqcDXaq/1zfbxIT5/L1XBRFO+N6useN5WahRjjxos1xkiL24qkc8CkcjoW/c2kDi1uPyWTekm5MEUHuC5lX659m35Q/7z/ILIXATOpdgJn4tCDZLHltjxvcXn0VyyQKKTjY+K7rni4T6m+g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:48:02 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:48:02 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:58 -0500 Subject: [PATCH v3 8/9] PCI: epf-mhi: Use dmaengine_prep_config_single() to simplify code Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-8-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=4628; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=y2+PfL2H7b1FUgjqeANH8jwnoWP1hvs/HDEhP+Ko9ic=; b=hSCqwVYMPtIfM27Pf9YHAI8OiVJCS420SUhHRvJ5EF/mf8FQ278XQEP0Q5xz8l8YPitODaWqt odYBdOP0X91A8bgCizQpZgcF9Wt0fKaYyG1i8ylbuBhMtLut8Jcup26 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: 257eea07-be76-495d-c725-08de4cac7b80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NTBFMnNtbk16VDJrdmdTbDF1SGk2VWZVZ1plcG9ZNkJydm5VcFhTR3pxTEM2?= =?utf-8?B?Tks0VXdQb0w1b0tJa0JXUGRDMjhIaW42NnFvbkhuR0tEb3hvM0cxWDBWTFhT?= =?utf-8?B?WmlmNkd3MjZoN0RGK2xQRjVoYWhiQnNhL0FTZTlQWHUvYXlxK2FuQ3Zrbi9D?= =?utf-8?B?b0w3VFhWa2JZMTZlbFBlK3oxSXF3Y094V3lGQkRkU1ZYVUNiemU5TTRGVEJC?= =?utf-8?B?eGVZd3l0d215TktYY016L1lxN0VWb1NLMXBLdDVIMHRqNm9VL0w0UExhblYy?= =?utf-8?B?NThVSWhkVW03Smp1MHRVeldGa2QxTSszczhwVTUySlhpWTNlYmRpdGo1Tjcw?= =?utf-8?B?cERjaGZhWjRxTXBzUkpmUXRHVEtKU3dpREFyeEZyVkZCalB1U2ZPZWg1V3pl?= =?utf-8?B?WXduaVhzZWdXMGJoU1A5U29YSmU1M2I1RXVTNzZmVzhvOC9pemNSSThGTDZM?= =?utf-8?B?dURiWjlRZ0h1emM5V3RWbno0aE9aQkx3V2UwZXNHZU4rUTdtaSs2VGU5VThy?= =?utf-8?B?dXRBeWhFQk95djBWcnQwbWY0L0swTDJjd3VWWkFZdmZiMElhYi9NcG1ib0pj?= =?utf-8?B?NW1MU21IZ1MxWmtjcU9MakdiWDlUSXhzbFBhN2J6RkV4aHhxVGdpM09oY2c4?= =?utf-8?B?SnNQYVIycnVrN3ZaaE04cnBBV29iNTMwVFROMmJIUjR5N2pyOHNXeERZVnJX?= =?utf-8?B?VEhvMk85RnFodHQ2MVRJY2dIK3JnSStKeTdteENtdXpOZVRkZWNRRWM1cEc3?= =?utf-8?B?SGJ2VE5HS3pKbFVGc3hQbW1NZktNQ0EvMVNRVXlDZjFLckljU1QraU9tT3BQ?= =?utf-8?B?UEVpSmdJa2FJay9mL2N6S0l2a3RaT1JRUXRzTHpld0RONzU5b2pXdUtOblZR?= =?utf-8?B?eVlraXNSNEl6Sk9hemw3NWVuS3pncWZFNnpXVkpnVzFCL3Nyc05seko0T05O?= =?utf-8?B?T3dRY2pETjdNN2s2VVhTbUNwVFhLeldpaDdtbFJEWGM0WnhQY3NBaEs4MVpi?= =?utf-8?B?Zk5LT1dYSEgwTlEreDA1aU9WaEpFV0RkNXBEUWdYTmpKb3J5cjRZV3dRaEhi?= =?utf-8?B?czAyZzZHYXE2SUlxNitxT3k1bmhodFZESFliN0ZZUVlyYzBFbStmR1NGVTNo?= =?utf-8?B?VktrZ0dka28vYTRFUS9hYXFlNzN5cmE0R29KYjNYbXdTYU5KSFE2VDdIRVQx?= =?utf-8?B?Y1lYZGhJS091RG13K0U5ZHVTOC9wdlZ3SG5vdkgzY0llcFJocE9UUzBodGVS?= =?utf-8?B?U2svSmZlNExPNDFtQkNCd2k3ZzBSekxrYk05RXN6SFJQQWFnNk9OdlgyZWxX?= =?utf-8?B?SWJhajBhQXBNcnhEMS83aGZJTHhyd2RKSlpNaXExOGRhS2ZMaVgxU0FjSklL?= =?utf-8?B?K1V6dEhpY3hSS2xTWmthY3lISGtyWE9vd2pQV0hOYUZiMG9aSEhGUVZ6ZmZq?= =?utf-8?B?eUVQSjdVWjlJRHFFdU1vVkI2aEd3UEFqc0pQNTJLTFY2bTVlalBwaE1UeDBy?= =?utf-8?B?S3lXaC9XRFA1T1BsaXpOeEF6RG9mcjk5dG52cmgxS3R3MEdMWGJvbzFaNjAz?= =?utf-8?B?NmEyRVgwY3NuSVh0RTNocWpmSkZtVXhCbk9rTlhJUlBPU0VRNTgwNE5CbVBk?= =?utf-8?B?SzE1TlI0NDQ3RlVldmlUeTUzbjNnenNYYWp4S3l4UUh4bm9iTW9mYURjSkU0?= =?utf-8?B?b05VVS8zQWZyTTI5VDZYK1NiUlB5aEJuRjQvZ2o5UllVYStJSlZ3cTBFSkh5?= =?utf-8?B?OWVNUjNudnJrdlBnWTkrSnJwMFZZZ1YyMVE1V1R3NFdDay8wLytYUjRyVjUw?= =?utf-8?B?NVk1QkNyNnNBdlVGUytITHNxUUdzWHdzUG5DNFc5eXJtWk5HUXFsSmpIaExV?= =?utf-8?B?Qm5CTVBRUXFYN0FBUVN1UnJ1bWc5bGVmZXMrTnNERkNSNExEaE0xcVFDWEdu?= =?utf-8?B?eE5rTUZvRTVwd3ExQktTakJndUhUUFRUcTV5YnJpV1hFU2tYUHNZZGVPWnJ6?= =?utf-8?B?VUMyL083VmlMWkJyN04rV1QrWTRNRmpXSDY0NGRhQWJ0Zi9NMVFpUWRTaHVD?= =?utf-8?B?emdjVFhTWnFHQ3l1UXE3RVdwcGtqeHhWaVdodz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3dCSURqaUV2U1M3RUJmbnRZVzJKRzI3ZXlrcEY3VlZSdHBuYVd2TEgzRFFH?= =?utf-8?B?UU04Z24vUGFVRVBlOFhZNmV3NUxBejFmNG1jcW9Za1B4WGUwTWxQMDJuc2pN?= =?utf-8?B?ZlVqQ2ZRY05xOFNZampVeE9kR2xyZjJlaEhKTlplS2FiOEEreUkrWkQzOVpM?= =?utf-8?B?blFhd05QQm8rTk04SVJOaGhvN0dNTWVJUG5lUW1NK3E1SE9mT25CVC9LNjc5?= =?utf-8?B?Ulc5MmxhWncyNEd5S2NwMHoxdTY0NjA5MXUwbndUS2NCT0lKcVptQkZ3cGYz?= =?utf-8?B?UU51azQrU3BJYmRKMXZVNVh1elMrYmlpYms2U0p1UkZmUlBMTUdOcFQ0R01P?= =?utf-8?B?blRTaGh5OWtUS3V4N0l3VU9xcTc3WmNINGVjS3RocXZoa1orZkoySkk0NUFh?= =?utf-8?B?NmFxYUtOVHdmb3JnaUVjWmNqYXBYbnVuN0d5bUhDTzNmQlNWZzRpM3Rlb0Rj?= =?utf-8?B?ZEhZRGErRDBWNG04ZGJuL09ROHRVanJaNnBtVDM1ZVZuQUMyQnl6b0FxYVQx?= =?utf-8?B?VjAxV0o5RXpNSnJhUmlEUUFXVWs2QTFLZjRETmZDd2tpeDNUd1dTQlZwaURZ?= =?utf-8?B?dVBhVGE4NlVubjNybjhyY2oyeXFpK2w4WjBOcjA0YlpSNEdWYkZoazNLcDlv?= =?utf-8?B?MWZFRk9NVlBjcDFmVmZtR3N5YmVqRFQ0Zk5DU1ZZUjh3QzVoQ3dhT09VNnkv?= =?utf-8?B?S2FMYnpxSFJZTmE0ck5sNnZnTHovOVJnWXk0ZnFiWnZpYVBQM044YXd4eTdK?= =?utf-8?B?V29ZNGZPZkVhWHVQRG10S2lMYVVBTjM4c1o0bFNVb1ljWmhkN2VURjZCYVEw?= =?utf-8?B?bDFDMERrOStiTVVRaUJFSHduL1N2TjAwZ3NKdUxYaUlCeE9id1kxdlJIbUpK?= =?utf-8?B?TzBPN2UrakEvWmU2b3NWZVlleGp3UGg1Q3VFZmJXZjEwcmZibTBhRGFOR01v?= =?utf-8?B?bXhGd2ExdEdPMDdNc3JRRXkxUzMvQzVjbGlzQ3h4d3pKK3RCQ3EzUURTSFRR?= =?utf-8?B?OEhjY0ptTVluelVkUjZZRE1EancrM2ZqRzA3UDBwL3ZIQXlvQVkvT0NDbUZH?= =?utf-8?B?ODNqL3E3V0QyRG1lNTk4V2dDTFNKY1pJVjZDelpkRXpJR1F2TXg1alVxN0Qr?= =?utf-8?B?R2kxV012ZnlEN1k0VmVTM1d5cTlPVkxCUi9saUZLaWUxZnFOaFJWcjduczM4?= =?utf-8?B?azdpeGU2Y3BZU2liL0JHVmt2QjdNWnN5KzBZWDd6WjZZUnp1NEN0SndGeURj?= =?utf-8?B?VzlLT0Qzc05VeE51ck4waXdCY2o5QnRhdDRUNjJ0RSs5aVAyNUw0NWdGK3VE?= =?utf-8?B?MGEzdDhHSURIeTQwWXd2SWRiaTBMVjVrTkFNRVhodEJVeC93aEZvSUZVdDFC?= =?utf-8?B?Ykpuekh5UFljZHI2eE9yTk43S0tUZldGU2JzazhtZ2RSN0EvZko1Y1ZnWTFE?= =?utf-8?B?Yk5OeDFUWlN5akczWC9JMGNpcTkwYzBlbzFwb1Q1R2dzMmMrVEY3aU1ORmdU?= =?utf-8?B?cDZkNzUyejdOOHB5Tm04ZktWeFdqaXBZMHBvdUlFNjFHTWtRdE5Ycmk2WGY5?= =?utf-8?B?Rlh5TXhkL2dRWXptTWt0UlNBNVB4TnpndkpSSzJtcEJmZlZERGF1ZlM5Q3dx?= =?utf-8?B?OXZTQ1lHY0F3aTNXa3dza2FWNHNYREZ5V29YQXFzWW5xVmV3RmFSb3FKUWJ5?= =?utf-8?B?RXV4VHZiLzNDZ0VQbVdTVHVvYnhiRVdSbFIraXV4Y0R6TmMzVXNVUlB2aW5n?= =?utf-8?B?ZERtR3NUeXpDSm5RcGNqZUFtOGc3VEpwemM2eHBmNVRKekpSVzVmaVlaaWFJ?= =?utf-8?B?dGpRZmx1ZGlYQ0hhTkpDaVF2WXM5R0p4WWovb1J2YTZVWG1tdytvdzlEQmVD?= =?utf-8?B?Y0dxdG5OeWFlNE5zZGpQeFlCdWJUamt2TE9kQzcwUjBBWUxTb0ZMVXdIbDN2?= =?utf-8?B?OXBxb0hPeEYxb0hkK2gyMGR4RHMxTmpwMXFyT01DN0tFUkZWRmxySTRrbzJ5?= =?utf-8?B?Wk81MWRybXRoMFFZb2huWTBjZWhpZkQwR3dCb0IyTThVRDZLYmt6Ti92T0lX?= =?utf-8?B?cVRTdWVIYW1jMXhQd05hNDlycE9EcmxTelFTMjZ2N0RFbUNmN0hPcWlTL2hN?= =?utf-8?B?T0gwSmY3TklXUTR4cS84Q0ljU3BFZFB3aExCcXVsT0VBdlBrMWFvbGRLSy9R?= =?utf-8?B?YUV4Mi9TdDF6TzlHd2w0ZGpIR1NxZHNNMENaRk8rSGJwL01iQ3YvYnpRTWEz?= =?utf-8?B?bHJZdS9xWnhyUzBwa0NKV2xidnpCeVRrdFQzR2pOQ3k1aVlmbE5Sd05kWE8v?= =?utf-8?B?TDZQZ29YR01LTDYwQVcyMmZ4WFZvbHJhVlZRSWxvSEo4Z3R5YW5IUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 257eea07-be76-495d-c725-08de4cac7b80 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:48:02.4232 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AY2zQKp7tEX4znMn4sK0YJpFxwojtt6F2TCC0yV6Z2/rY7v7ILauc8faw8L/5dxYQ12u389qWdhD1/B4n/iOXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Use dmaengine_prep_config_single() to simplify pci_epf_mhi_edma_read[_sync]() and pci_epf_mhi_edma_write[_sync](). No functional change. Tested-by: Niklas Cassel Signed-off-by: Frank Li Acked-by: Manivannan Sadhasivam --- Keep mutex lock because sync with other function. --- drivers/pci/endpoint/functions/pci-epf-mhi.c | 52 +++++++++---------------= ---- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/end= point/functions/pci-epf-mhi.c index 6643a88c7a0ce38161bc6253c09d29f1c36ba394..0bf51fd467395182161555f83aa= 78f3839e36773 100644 --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c @@ -328,12 +328,6 @@ static int pci_epf_mhi_edma_read(struct mhi_ep_cntrl *= mhi_cntrl, config.direction =3D DMA_DEV_TO_MEM; config.src_addr =3D buf_info->host_addr; =20 - ret =3D dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - dst_addr =3D dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_FROM_DEVICE); ret =3D dma_mapping_error(dma_dev, dst_addr); @@ -342,9 +336,10 @@ static int pci_epf_mhi_edma_read(struct mhi_ep_cntrl *= mhi_cntrl, goto err_unlock; } =20 - desc =3D dmaengine_prep_slave_single(chan, dst_addr, buf_info->size, - DMA_DEV_TO_MEM, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc =3D dmaengine_prep_config_single(chan, dst_addr, buf_info->size, + DMA_DEV_TO_MEM, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret =3D -EIO; @@ -399,12 +394,6 @@ static int pci_epf_mhi_edma_write(struct mhi_ep_cntrl = *mhi_cntrl, config.direction =3D DMA_MEM_TO_DEV; config.dst_addr =3D buf_info->host_addr; =20 - ret =3D dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - src_addr =3D dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_TO_DEVICE); ret =3D dma_mapping_error(dma_dev, src_addr); @@ -413,9 +402,10 @@ static int pci_epf_mhi_edma_write(struct mhi_ep_cntrl = *mhi_cntrl, goto err_unlock; } =20 - desc =3D dmaengine_prep_slave_single(chan, src_addr, buf_info->size, - DMA_MEM_TO_DEV, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc =3D dmaengine_prep_config_single(chan, src_addr, buf_info->size, + DMA_MEM_TO_DEV, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret =3D -EIO; @@ -502,12 +492,6 @@ static int pci_epf_mhi_edma_read_async(struct mhi_ep_c= ntrl *mhi_cntrl, config.direction =3D DMA_DEV_TO_MEM; config.src_addr =3D buf_info->host_addr; =20 - ret =3D dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - dst_addr =3D dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_FROM_DEVICE); ret =3D dma_mapping_error(dma_dev, dst_addr); @@ -516,9 +500,10 @@ static int pci_epf_mhi_edma_read_async(struct mhi_ep_c= ntrl *mhi_cntrl, goto err_unlock; } =20 - desc =3D dmaengine_prep_slave_single(chan, dst_addr, buf_info->size, - DMA_DEV_TO_MEM, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc =3D dmaengine_prep_config_single(chan, dst_addr, buf_info->size, + DMA_DEV_TO_MEM, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret =3D -EIO; @@ -581,12 +566,6 @@ static int pci_epf_mhi_edma_write_async(struct mhi_ep_= cntrl *mhi_cntrl, config.direction =3D DMA_MEM_TO_DEV; config.dst_addr =3D buf_info->host_addr; =20 - ret =3D dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - src_addr =3D dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_TO_DEVICE); ret =3D dma_mapping_error(dma_dev, src_addr); @@ -595,9 +574,10 @@ static int pci_epf_mhi_edma_write_async(struct mhi_ep_= cntrl *mhi_cntrl, goto err_unlock; } =20 - desc =3D dmaengine_prep_slave_single(chan, src_addr, buf_info->size, - DMA_MEM_TO_DEV, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc =3D dmaengine_prep_config_single(chan, src_addr, buf_info->size, + DMA_MEM_TO_DEV, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret =3D -EIO; --=20 2.34.1 From nobody Sun Feb 8 19:35:28 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011039.outbound.protection.outlook.com [40.107.130.39]) (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 6DA5F31281C; Mon, 5 Jan 2026 22:48:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.39 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653301; cv=fail; b=U2i6aBmOoPtVMc2avs2Vj64PedmAv2ctmzTXKKIZFkMUnjKk6hAiBmAIBFBqr+WBuNQoM4MG7qSSGReRxg0tgGkFDwOuyRiCV53wuK2dWbl864kW6EOJI1cZKA/Akp/LwtnOaXLgNjFEcBRrvgWjhLMWmGRjQgpIH3tnFhtCZJA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767653301; c=relaxed/simple; bh=W22vmKstXYkmIGhE5qiPeFJ0wc/jLIRMR6F2v6Pa+AA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=VH9FNbXB7I2Lin3k/GTvuTpkmLc/lnBJDWCxEjafxwVlDvvOURNSipraMRmSuq2Y+qs6jlz9tbpViE7+Gs+aic07F0TEiIv7TQzC/SXO4GsO4xs5VtpOq34Qytn/H7s4leX55dCTMESz6yxDkJRHdjaSfBr4L3sbfdMxcgxDsI0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=I/OVZgTR; arc=fail smtp.client-ip=40.107.130.39 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="I/OVZgTR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jazu1BFCU6Uo+DHL0apQGwSxvwdzM+ENshe0U3TjGpUkl2qvucVUvokl+L9eJgeEJ3BtoRrTU7O+oeRwlsjfGKomuGgr+aji+njTgRVmY4kToLAZPYJVcAbgo85nia/QpBn/BH6PFjbeiiIG2kUdv5ex2sgBuR63fyZASU7J2k5EJXipbGWjgxwJuBR/kZ6c2m3ifNA+4iJVVtC0aEMN9lNXBqiqNLB9VNygfQZ2a33YuXpMXn0+DjTlB5N6eR/mFJDTUqKcNMSC25Ea1FL48gF1l4AFHkE3O7JCoxBHNwM4Mw1GhoqkjrecyrXeV5kJw6uJAkzhRpY8DylXMrnLBw== 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=XC/ywaSProtu82uFSFteem/sxrv8h4ktguruv15MNyM=; b=Cbr/6NagccFRCB+5ot2K+Xt/g+t+LdbkZBOT38nI9jQvgyTjOjMZb0aJuGifA19xymqWu7/CDmimmKr6Mdp5I/AUn/Aunke5AFvK5gAT/opCPX0fWYFIEd3BXRpgjTv+P3oNT82Lhzl78dKm74vPA7CJC4Fjwz727FtvKqaoXWAupZ+9buxkATm1RMYlMdLzthLVkBq4qKISNqWrQGqT0KIZ4mAGQta/qqVvNGise9DkqKSbezwJCg8Mi30J9DSgOyKr3Vr3zUphjOZ+XYmwhHIOcowjm+EuQKQkRma8klHBC9O4mOy8fSpycFrcdCeDPEmifs90vitQQrq6OlcJHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XC/ywaSProtu82uFSFteem/sxrv8h4ktguruv15MNyM=; b=I/OVZgTRD9byPPGKBBM2eLvzMX4i2za47TrNetONSeAgusm9AHX5iiT6eS856uydN4+q8Ths3TjlN1Na5OXfAC5eZzppJdSgxni8RlR93kZ9JWmsoPV6hubepC/aR4pKYmxTuT2VgfeZYDIeS1K83yBI2cSFuR01zSlN9Bbtl4OUqCWvQ/YstAmGy8k3dKUu9wxPEWbGTEYWa+npVbXnmwCCn9gfDjIUuLzNypNEdhS+45vwuVbT25UNkKjAViCZvCc5XZATWaEcs5HVJzuBtppMGM3jp/lY5xK0nOTifHx/dG1/lHMXE4WdMMStMNuE2+43XqDWNlyn+olMkwpspA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Mon, 5 Jan 2026 22:48:08 +0000 Received: from DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196]) by DU2PR04MB8951.eurprd04.prod.outlook.com ([fe80::753c:468d:266:196%4]) with mapi id 15.20.9478.004; Mon, 5 Jan 2026 22:48:08 +0000 From: Frank Li Date: Mon, 05 Jan 2026 17:46:59 -0500 Subject: [PATCH v3 9/9] crypto: atmel: Use dmaengine_prep_config_single() API Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-dma_prep_config-v3-9-a8480362fd42@nxp.com> References: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767653229; l=1301; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=W22vmKstXYkmIGhE5qiPeFJ0wc/jLIRMR6F2v6Pa+AA=; b=/I/d6fpB01MN67Py+YACfmjmrTztW973jnCLAwaw/w5KRbznbaxVnORbO8oXKZtDE6W3R/Ek0 Ep9FgXaRCTkDnTN8Cn2wbOvelR6vDqIP3FisTE+/JdIGLrwZSZzNpY/ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0345.namprd03.prod.outlook.com (2603:10b6:a03:39c::20) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|DB9PR04MB8185:EE_ X-MS-Office365-Filtering-Correlation-Id: c880b358-f8f9-4fae-aca1-08de4cac7ef5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|19092799006|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TnU0cnJmb3loUFBnejBROUZsaTRTUVBsaWl0M3hBZHEybkMrUUZrOHhjVlZH?= =?utf-8?B?V1JhMkpqMWo0bTF1czJnQ1dIWm5McUhXb2RZSVMraTlBWXN4UnJmU28zVy9W?= =?utf-8?B?V0VBMXpSSWZ5akttZUIxdktocStjTlhyRm9NazZwS0VaelN0akpKdUtmZlBF?= =?utf-8?B?REtxV296U3c3dHlCa09NRTFGUlNTamFZUlNBUFdMSldZMStwaDB5ak54M25J?= =?utf-8?B?OGdkMXVWbUk0YzZMS01vS2J0MXVidVgrQk9aRnBnUUdrbGEwS3dpQnVTcjlj?= =?utf-8?B?UW1QQWNaU2JvUjhXMEd1Y0hCa2UzL3Q4emQzRzBVaUlLeHYxZnR5VDV0eXI4?= =?utf-8?B?QnJsV2FsTUMzT1EvL3ZINTNXYkZ2T091bFBZUTFiL3A3SXdNVW8yOXNrQkdU?= =?utf-8?B?dHFnZDF5YUYxMVVLSzEwRG1pdTNBT3NUeHFxNlNiZ0lOdXBlamUxeU1jbW9P?= =?utf-8?B?Ylc4QjZrWkNpVmt4U2tIMjJhWWJWdFhvV1pPa0JJdSt1OS9RS0NpK1c4czNt?= =?utf-8?B?NmcxRDN0V25FSzhUbGNoazlXQ0JNN0pablZ5WEVQZTRja1ZRK1lMdHRDQjZ6?= =?utf-8?B?Nm1rMS84Y3dNditzVkM1ZEw2a2JUS3BlS2FDN20wcHdqbEdKNm42NzByNzQr?= =?utf-8?B?cWdObHp2VzZXeUJLTjgvUkRDR0ZNOHJrRGE1MFBRcCs0T2xXdU5URWoySkdv?= =?utf-8?B?K3ZwM3AydmVCRldYaTNTZWpid0dFa1BMVHNUaU5DM3VDUkNyU3pkei9WWWRp?= =?utf-8?B?alFCQ0Rma1I3RjBqYm9UYUdlV20xcG5IU3g1VWhkMVNvSDNlazJRUCtOamdL?= =?utf-8?B?cS93bEtqY0ZwZDNNNVcvUVJMVWl6TFNydUxVMFRkaTZnT2oreXlDUlBwNlhO?= =?utf-8?B?RDlNVHVQdkhpMjhzbFZMY1g4aUJCbVhxZEVUckNSL202ayt0TFJwSklZVHJZ?= =?utf-8?B?NnJwRFZIeTBHVm83a3hvKzJycXVWOURwbi9hWVF1VFBqQW1EdXEwVE1RRlps?= =?utf-8?B?cVF2VmdndkJVQ0l4TWpXMUZZdnJnZTlyaXlyTzc2VGlUcVpxYXRpamkvYndM?= =?utf-8?B?dkZZcE4vN3kxZkdvNlZtUC93U3JLc0QyUWo3QVZrOFk2aTU4THJFZnhSc2lN?= =?utf-8?B?NHRRTkpsMFk3YzJWWG92VDhOeFQvOE42S25IQzVjVlpGRW8zR2VlNmw5dVJk?= =?utf-8?B?bTA2bDROWGdQaWl5T01ONVE1cWFDQ0d6V2hESUlSdmN1WFhaK0c1NzQ1ajYx?= =?utf-8?B?bFFqb1diRVlMb0NJUVpSWEtMdkRMRkQvQThzSWN4V1VuMEVoOG9aQWpGS0VO?= =?utf-8?B?VXZyMXdycFg3ckdFTkN3dVVDbEdpaEwzcjFuWEluSkdVQTNKUG8xYmJGcURw?= =?utf-8?B?cHNLMFJVV2FTUExKN3RndDJUeitsYXl4S0pKcDA4bnM2UGJwc0h3cWU0VHRF?= =?utf-8?B?a0NONDdScEpnVENuc2gzTk9Qa3A2S0xmN2ZZUHNETXZHN29LMktYRHVxUDIw?= =?utf-8?B?TzBDQmg3TTM2eCs1bkFJRHVMdG10NVlTSzVSd2xaLzh0cVdxUEdlYlpyamlF?= =?utf-8?B?aWZKYzVaRHU2NkJ0cEUwc1B1L3BSRVN3K0QzSUZzQ0E0dUhSZFozT2t1TVZ4?= =?utf-8?B?TEJRamRHaTUxMVFPV21zVmpUSlY4aFg1cWNCckFtVmVFekVlSGh1aWJ2TmxS?= =?utf-8?B?dVBzOFRMeDRzNjZuS3p1N2d4VVE1S29qOVUxS2Z5eUllR0t1NzFITWdJTm9I?= =?utf-8?B?N2YvZS9LUmt6VE90NEVKcUtURTNxWkhXSmpzRFNRcmRMaXc2bXBOeDEwOUd5?= =?utf-8?B?ZXdZRm5uUEV4aFhVRytzN3ZnMWkrWTcxNWpXV0xsSmprU05lMTZoQ1ZtVldw?= =?utf-8?B?ZHdhUmFLWjZGb1EwTnhCMmtuSmRsT0FQdmQ0TUhLbU1UL1lBRm9hSndlSFRa?= =?utf-8?B?eVd3cnVxYklxbUJEbnZPcm95aDJGd0g5ZkQvVk5pbVZGTGx3VlQ2TVRpSk1q?= =?utf-8?B?OTJLQWZhRjc0L1NSZFFhcFVldllhWlhmUmltTENlMlJCWWM2MUY2SkdUakQr?= =?utf-8?B?dkpuK1BObnFsMWdJWTdJMUpKVkZQcTY4eWEwZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8951.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(19092799006)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z21jd0kycFFIT2ZVdHZUalM2U1lEN25OK0JiS0luTHpZNlFpdUU4RFluQUxS?= =?utf-8?B?MU95c3EwQVhqOW9xSVJmSlR6STR2WDRGS09tTjVrNnFzckZwWThySk90ZUFm?= =?utf-8?B?cTBBbGtTWVljQjB2a0F4MURmeCtkRm1DbkdiSktOMklZUHVYV045b1BJTVlF?= =?utf-8?B?VlJSMW9tdnM5WU1wamtrNjhPaEd6MlNLaDN5MjU2Z0dPNmNSQlNaL1ZRVFda?= =?utf-8?B?dElqSDF4RzErV0piZC9YVDNCOWQ4WGlaU1AvYWhuLzVrVG5NR1dVZVg0L1Rr?= =?utf-8?B?VWpTMlRHQ0ZERHBpdjdXYU9uYUJoT2d4SXZ4MTdmbTZqaG1YVzFRM1RzaFdI?= =?utf-8?B?ZWcyUU1oVFR6MHRxRWJWZFpnYkthR3NMYkNkMUJWTVM5aVllZXluVlVXTndH?= =?utf-8?B?QW9GMGFSME5idVI0a1VhQ3g1OVk3RG53UEVPTzUvMGt0Yjhkb20rVXg0c1Nv?= =?utf-8?B?bjR6aVhlZmVIZEpBTTJYTjZ3aVBlYy9Yc25yWTBQeTNqN3k1OUZ4YktXR0Rw?= =?utf-8?B?ZG53TDVHSTJ4c29rdzFJd3h4YjIvUjdnWDBRbDNpOVRYMWw5dWgrWXpmSnpJ?= =?utf-8?B?VFRSQ3Y2ZC8yOHF3amE3Zjg3dk9wRHZCajh2a3paM2RJNzZxVTBQeHBhV3Jj?= =?utf-8?B?a3FESjNWUFkxWEJBbitpUnB5bUVLayt6Tngra3hMdGMvc3RxdXMwQTNIR0ZF?= =?utf-8?B?ZVNJbWcveThRTjhmRDhLWnZJZk9kakxlVkRIalZXYjA0d0s3SUlsZlZOMERE?= =?utf-8?B?VHV6bDZoMGdKbHVaS2dyN3F4TWU3aG40b3Q0SVpkbnNaemhxWVhwSmpteXpV?= =?utf-8?B?bzNKVzA5YjI3OE9Sek5rZVlEVngvY0FkcW92OGw0Z2p4L25nZ3lMTU5lZ2No?= =?utf-8?B?bG9tcXFVWWNNN1F4eDR0OTBUWjNjUXZwb1FIMlQyUnlZcjdrTjZubGJkYndH?= =?utf-8?B?eldDb1lsY0VPVFhiclNEVmc1OWF5UUtaUEFhcmh2SEdlS2xmbFBDU3JIMFBy?= =?utf-8?B?TElVcXIrejU5Z2k0Qkhxa0pFVFZKaFJjSEUwTmtpdkk5RTJHZktlRG9RVEty?= =?utf-8?B?MVhLT3N3cjliVUYzL0NEb3FDQldQVHJablBSWDJyWkRQNENiTWRLR0Q5Wmgw?= =?utf-8?B?RnhtVnVlYTVyRGdQdEpVOW4reWhHcDdhNVRTc1A4TmgrUVBoa1pVUFg1WGNW?= =?utf-8?B?cFVyeVhkeXU2bHl6bjFOYjRUYUhHMDI1MDRLOXIybU4rZDEyaEZVK1RuRWxN?= =?utf-8?B?U0x5c0pOUHdUZFVzMTY5NlJjTmFTUC82cmswdjBNMTBqdEtDWWFTdm5UNnFq?= =?utf-8?B?MHlZT1k3Q1hUZ21qZDhHZExVbEN6Y1ZuMjZUY1Z6WTVLL1lMU0UzTkJaMk5y?= =?utf-8?B?V0dJaHd3d2FMdnVuSnhMSG1wZGhTMitsZG12MG9NSFIzYWphT3hxN252cDll?= =?utf-8?B?V1pka0hJeGVwUjI5MGpISW82TmNMZ3lLZTFKTUJidERXVEhQa1dlY1BFbzEr?= =?utf-8?B?aFg1bjV4c1pxdzhTZzdYRUJpaHg5QVNndXE0SlNEMkRPSXhiZ21lVXI2ejJD?= =?utf-8?B?TmE1VzhvQXhLZXpQUEZjSHFHZ3ZSNUZaT3laS0s5RFAveWJva243K2w2NDVH?= =?utf-8?B?UUUwT2lJczhYdUVGZ2Q5NitlaWVjdWJxRmRHVHY5Sk1XSnhPeVZkQUZBTCtv?= =?utf-8?B?MTk0VnNqVTgxQ3FnSTF5d1BPMWxRSjJjRHFCRnhrVE41YmRwVEx2Wno2TGly?= =?utf-8?B?SGZXUTl6SkpkRFl5V1JRWFJyNmlSMUthc2s3bzl6c3FLVDBITjYzTkFsaDRK?= =?utf-8?B?dG45SFpTVDFhbm1ha1hxVFUxbTNVNkdtQlFwaVlpU1ZQTzVYZnRXcXZocUtn?= =?utf-8?B?bHpwZmtmZ3NkZ2lFQzFXbUZIVkNSZjJpNjJsWGkyLzNRTm5VVHdBWEhLQ3lr?= =?utf-8?B?WVRiMUdRL2FadGZaYXFjeTdEd25tRmxoWXRZZGx5cnh4OCtLc0NxOW1oYURo?= =?utf-8?B?N0I3QUJPdFZzUVdHcFAwWVB1VnlNYW1uaEFJY0ZQUWFZYnZrWW8zQ0I2TDhX?= =?utf-8?B?WUlkeExGallnVHUxWTlzcXMraXhYaU1HQ1YxNkZkSmZzams2YkJPdkpDMW4y?= =?utf-8?B?R0ZjRVFpZFFUcXFZTDNNVCtMeFdzT1N1aWRnekNlVC9FUFU5YjNLZTU3WjRD?= =?utf-8?B?NE90SS9CT2QzbzJsdHYxNTZ1Z2lnd3FTZG82WTBLTmFvN0w0UmN4QThOQUZI?= =?utf-8?B?a252VlBVMmpVSEdURjFCcFg1UUdqOEF1MzdOUjNsTjBtMmpJK0tmRUJ4K3lo?= =?utf-8?B?WDJKV1dMTkFXb0lZTmtEQkFMNkZYUEpDZi9WRDBTaHFmK1BIYU0yQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c880b358-f8f9-4fae-aca1-08de4cac7ef5 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2026 22:48:08.2379 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jQXYbZXof/+UDcPXb0THIQwfFyfeOqT2JMKO64IZaW7WiWr0qO7gMfzClOyu1ozmH9qmujJiDkG7N8+Pt0MVWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185 Using new API dmaengine_prep_config_single() to simple code. No functional change. Tested-by: Niklas Cassel Signed-off-by: Frank Li Acked-by: Nicolas Ferre --- drivers/crypto/atmel-aes.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c index 3a2684208dda9ee45d71b4bc2958be293a4fb6fe..e300672ffd7185b0f5bf356c237= 6681537047def 100644 --- a/drivers/crypto/atmel-aes.c +++ b/drivers/crypto/atmel-aes.c @@ -795,7 +795,6 @@ static int atmel_aes_dma_transfer_start(struct atmel_ae= s_dev *dd, struct dma_slave_config config; dma_async_tx_callback callback; struct atmel_aes_dma *dma; - int err; =20 memset(&config, 0, sizeof(config)); config.src_addr_width =3D addr_width; @@ -820,12 +819,9 @@ static int atmel_aes_dma_transfer_start(struct atmel_a= es_dev *dd, return -EINVAL; } =20 - err =3D dmaengine_slave_config(dma->chan, &config); - if (err) - return err; - - desc =3D dmaengine_prep_slave_sg(dma->chan, dma->sg, dma->sg_len, dir, - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + desc =3D dmaengine_prep_config_sg(dma->chan, dma->sg, dma->sg_len, dir, + DMA_PREP_INTERRUPT | DMA_CTRL_ACK, + &config); if (!desc) return -ENOMEM; =20 --=20 2.34.1