From nobody Sun May 24 20:35:36 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013031.outbound.protection.outlook.com [52.101.83.31]) (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 63F46366560; Fri, 22 May 2026 20:13:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779480829; cv=fail; b=qd4km0yA8w4YgfDuKazPlsPqCtXRBG4A3PwvXI5bXIO6+/Rx9F00C83fk/TytEtPuvxCYPHQw1FaPMXpDfFS1sD0Tkj0+Nv9mzq1IQoiB+bmQOov+wTaKw7N7RSYiiQicwzINvp2T0ZLAX07qhJKtiaIPBGyEXb92PPbmwhEjws= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779480829; c=relaxed/simple; bh=b284fxjLHO9apiVnGNdGfgxpi8hMmLxomEeg+y0CqyI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=rqz7XJLCtc2icT93r1eR7f5kEnm7DGSsYLc/IjAk3MSrsfqSj5pHDwd1uBQlZL/cE6MqpgDK7kXvkMcNjMQnwPa+v1bUTsy1d691LalYg6k+lY9oDz3mhzV3Ie6VBrtlUNEGh894fWDQkCrwOw0d0YP/lM4frYHrsqrqvJM3X98= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=bvHOx1Hg; arc=fail smtp.client-ip=52.101.83.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="bvHOx1Hg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=THbt8sPcxGOO/c8BUKtEMc18T9k5FEwL1M8tdvo7ovgvD5lqLcmGD41FhLjBiz+Ygk6dAubWcegcGc0WjKDYgCOLGfLgLbS4XMr3KQQqXKGcEdrp2JwmyBbq+u6aAQK4fBSzMQixxw/k38icxyUe2Zmiip/XXtgxxIWyoz74szLCbvEaWms7EvViv73j/S9hbUMEXQMosw1KByGDJ3NDEV1bhvZmt/+c4VKhvDl2R8OXlrIZ8brtDMjh4sUqOGjUxudhsy6DdVI1VMJG8pr0NJarAC1UOrnC01Ra5pleid0DYabOssdUL9NTcWHxZmcmnUGFwU8+Vg+PXGLnGK7bbA== 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=xGDKKzwL3N9th4rZVfiFUXsWiNU0+aGFvs+I/mTGmsY=; b=YG7O4VKEr9IquBCEctY/IcyRJLWYhv2c/5w8skt7MU+UWQGMpbOKCUgmxK2+FjTHKpW1aBnnzmpsDtz9UWSHpQl/dPOxNw1OLWwnfNNxJhMfzhm4c746kaHgh6GuSE02BMQ1DKKhbVEg+R2fuOrfe7fXYwvPkdW8i4Gj+vEEXrfugyv37Gr2QMvYwsjPCLE5uQWrHOAdxMv/YK+2sijWxF4djFG+iZ6L09FsuSu/AIbc3EN4mktcdaLjT7cf5xt5YPNaNhhKAXyPMi283x7bPNmK2QJLDlzt+kMBOq4L9HJ1UfhOP12IXJeY7YtLvIydHbHhQ3HgTmfBZONZhS6dlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xGDKKzwL3N9th4rZVfiFUXsWiNU0+aGFvs+I/mTGmsY=; b=bvHOx1HgUu9beEm0s+dNCuFsNV3joKBBTPASAaiTVPmfh+StikKGfKFcvevGKGU20IOUbJhBqjkGIR65Dure2MXOA0V9ED/AHt4br2QTRj/b2ufDFIIZ3KO41diJ9cyv58NHaMPbij41uf3vLuGHjayvU5MWzx3DnBp7e5zERAliQhtjmXVjGcIJq0smj8jVIvTKUuo1UF1ouo8pGaIpTfnPQ1ECn1aBBFG3ZzxHU63rqD5zODYkhCaR5omqGk8OmErj1wuzNdZeXiIXejTZl+Fe03BldaQJr0WA0nfiP3+wZWxxBSwqAA+mhJvNRvEJeQH9nC935tqRlvpHegU8AQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) by VI0PR04MB11503.eurprd04.prod.outlook.com (2603:10a6:800:2c7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.17; Fri, 22 May 2026 20:13:44 +0000 Received: from GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c]) by GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c%6]) with mapi id 15.21.0048.016; Fri, 22 May 2026 20:13:44 +0000 From: Frank.Li@oss.nxp.com Date: Fri, 22 May 2026 16:13:31 -0400 Subject: [PATCH v2 1/2] dmaengine: Add helper dmaengine_prep_submit_slave_single() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260522-dma_prep_submit-v2-1-7a87a5a29525@nxp.com> References: <20260522-dma_prep_submit-v2-0-7a87a5a29525@nxp.com> In-Reply-To: <20260522-dma_prep_submit-v2-0-7a87a5a29525@nxp.com> To: Vinod Koul , Dong Aisheng , Andi Shyti , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, carlos.song@nxp.com, Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779480813; l=3083; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=rm3QPWBTpqbPhTrBscep+Zgo51X4ZX5aRMTs0SY4ZGY=; b=Dg4K4jocC4b6vmLUmlguEn6TeChINPKpdg1he1eH9BFfwKAhdEdRiVOgw80Y68ISZ9WRceHbl nV5amsLitIFC0+pDWAkBLyTW8wquCARhnZFJ2CHabZ9DdPPSK+e9TNc X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9P223CA0008.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::13) To GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) 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: GV2PR04MB11799:EE_|VI0PR04MB11503:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c0a9bb3-717b-4e4f-190e-08deb83e9f95 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|19092799006|366016|1800799024|56012099003|18002099003|22082099003|11063799006; X-Microsoft-Antispam-Message-Info: 8Up0sdLsGFamUXUEu9wQui34T0LeytNCGkQidv1w4Sg2zDGL80dD630SBKPBI2/1Kbntf2JBkWTI9qn7EDMYGvR+tdCdniuRN4XCJKKiJnOnc7VU6/luPPnkarZXzehgyuEBRHBLv+GZBaJnnEH6Y2E03IFOejr0ap5phY/ToFqMeMKavQ+RYPa6aYpIMXaJk3BihXVg9lv2MTnEvF++NIxCI0pdiYTvVB8ddC+18Jwq513XqJXALif1HxbDBH19UtmQMWDLtg6C5Tj/PxRmT4aYpsjLZoh262FYE+MQuvlyy55GbGftASl5VfCHi3e52IECAORUJLFHKdhhaN4MvquzVkqLOr58+nR9sNO4INw6ZQiagJkteFQh/IzRRYWnBD0rcsh2SuwXZc2ylwrphuw2kavdYTnxPMofMY0X9G3zeh5zZsRiHc4HMQfXo0tXhjAbmh+LFQuHYDMkpc+KO/30ruZUGBo0Mjg82OS8NeJSS3uJ39L0uVySsIRuQwZaiDVP1dMFyyoNqf+OmMS5hbDb4UKfdBRjQ1y9oU47bYflxl2E8dCBg3J4VCbt319ftGtN+2qiPXNe2/xYv3JrmaLaHj9sHYlDeFiFghYgggir7axBNC5p+ASczbCvmd+5xjABONo62MEcWtbcNXdEWjqEHUS9bdT28Yqq7wd5vonlL8FHi2bJYVHlhUyfXxBd X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR04MB11799.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(19092799006)(366016)(1800799024)(56012099003)(18002099003)(22082099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M0c1UHlyNmxJZ0RvZ1ZTKzhzSExFcnE1VU5mdjg1VTFoVWxnQ0dvcTc4MUdu?= =?utf-8?B?eTBicCtyUjViZmE2R2ZOR3k5cW0vRHRuOStVaTFST2VXeUt6VGNFcUpXSW1O?= =?utf-8?B?c2VnM1NEVE1BWWdHZ3d6czZXeHhLSHRha29heFg5Qm9SWjFZRWNrdnYxZUxX?= =?utf-8?B?aTNCVGJYY3htUG82djZCMXluMFBZWjExQ2VEaWsrSUtVSHpJdVhucjdPTjgw?= =?utf-8?B?VE9mcVRkWlVDejRDditvWGF1TTJIT0RxaXJCK3ZXQ2lab0szci9kR0lPa0t4?= =?utf-8?B?VDcvdGJLakIzMFJhOXV3UFVQdHp6NXd2T2lhNFpjNXkvMzJBMy9XK3B4cmhy?= =?utf-8?B?NjUwVjNpMkFtS0ZDMGI5WWtWNkozUFlmZUt2dmNQUUV3b1hKZnp1RW4wYkMw?= =?utf-8?B?Z0UyVVlHU2tzZUJDY1Z4a1o2bkdzOGhwL2FiV2ZYOCsxNDkxSnFiVFVuc2tQ?= =?utf-8?B?WlJOeDc5QS9kTDkxNCtsMjRQek9GS0dEUzl4VW9qNDlsMUdmQk1ob1dUQlYw?= =?utf-8?B?ellTYmlkcTNkdERKTWJDakx3dFJBTXZad0RSeGRNa3pLcmhiTVhCcjI4UFFw?= =?utf-8?B?M3hiS2hqL3BLaGxoc0Q3NHlNUUFjME9GcEtwNTVmTk5PQjBqZ2VYclBCSlZW?= =?utf-8?B?Q3FFVnhXSnJIU2ZlWFFJVGhoOFVxQU9lV1BVRmJSSVZzNTFLYmxXMEdRdE55?= =?utf-8?B?TlZqRXhnWElZTmdtSkhUOTRxSktuR3B6WmdMU0Z5d0tyMzZwYml0VlFzMkFE?= =?utf-8?B?K1RtRWloazBwckJJZ1loc2RQdHpFaGk1TU5aZWt3OFFPd3pKMVdIT2xHUzVK?= =?utf-8?B?WkxEVWFpTG1seExWczNBZDBLTVRWWkNTYkJOSmtoU3FtOHplVVpxK1VRaHBy?= =?utf-8?B?QXdkS0RqbjJwdW53Mm5RRXNxSnRqNlFUL2NvRVR2NXlTMXZSSC9FeHQzV1h2?= =?utf-8?B?Yk1FU0lCRVlVdTVrRm5idzNGM2xKSHJOdnFwK2RBR1RrTXJLMEhXbjZNd1pt?= =?utf-8?B?ZlQ2S2tEVVI2eGo1alE3OUhlWnBlT2Fxc3J5QlQ3SnJjcWgrVkNZVkoxamZr?= =?utf-8?B?RmNrdXJyRjhNQlZJUUZpU3cvWkNZRG5TSVlGVlJhYUF4R0ppcUJQY2l4ZjVw?= =?utf-8?B?cWhEZGFFNnlhc2hnVzN6V0l5KzNQTlZEZ2dkb3FiaWRiNUk4RWlXbUtGVHpM?= =?utf-8?B?SUx5a3J3eThSRTJwOStuMzdDaWMrUk9OTVZwVU92TjQyNmdUay93RDJYQm5E?= =?utf-8?B?cDIyM1djS0hzVjZLMWRwbVB2RGFHV2dDemZIZ0NDVTVjbTBTWnJZYmlDcDUz?= =?utf-8?B?c2xKdlRWK3phWXM5a0x4U3lsczJGc05nK25ZSGJ4T3ZBTmFTVXgvb3p3SGRn?= =?utf-8?B?K3VoTlN6TEdxdzhkOG9vNkxpWGUrWk1NU3VzV0g5T1B0ZFZuOGJieTlOeWd5?= =?utf-8?B?STVlalV4MVlXNGRVZDlJNjVLb2lXamZyVTFmK0t1RjZsOUhQaU1wV2o4V2M2?= =?utf-8?B?RDFVTTVRNU9zcndWMzE5bW1uZnVQekdPMWhkSVN5ZHNCQzJiWk1LNUdwMGZE?= =?utf-8?B?bkYrZnJvU3psNmNQVWJRZVkwN004NDNWRGVTVmpSU0NuTm1XcFZ4bUYwMjhl?= =?utf-8?B?QytMdWZSTTdaZ1kvVWdmLzNvaTNQMjduVGlHUEtiRk0zWnVpWkpNakhUMjZC?= =?utf-8?B?dHB6ckVUNFhxWElnWHNXaGZXWmprSEE1elhpYjhTSVFyUDgwais3YkJIcitC?= =?utf-8?B?TGpPUzZJNmF6WDFyNDAzbWVpSmdHbXk5dnl3Q3JaVjNPOG5sV3VlZWFuaDd6?= =?utf-8?B?UFBwUnlzR05KNUNyQVBmQjJqR1hUeWlRRmJsbmpCa0Fobk03OXYrWUJHTmYx?= =?utf-8?B?Qks2TDZzUmpNMjNZakE3QkxlTkVoYTc1RzJSNHE2OTRTR1hxTzYrQVEraXRh?= =?utf-8?B?RmtYcDRDdWFlanRRQnFncTBRR3dHMndzYWM2REluYzlLcXRlaHh0OE1LZUlL?= =?utf-8?B?K1VtMklDSlV0OS9uZ3BsTEVaQUsyMWtUdkRzdFlTWlZ4bWUvektINWFIc0s5?= =?utf-8?B?L0U2M2FOSGM4RjM5WittaWYxSzJLTUg4NWJkRmcvRDh2dzF6eVU3Y0lkVUdJ?= =?utf-8?B?U2hTMitzak8zQlRwaC9DSkdJbGpUM3FpQXdtTy9RblVMcFU2NHNCSkw0NUlE?= =?utf-8?B?ZWdETHRWOWlUcFJudUV4SUtRekowb2hiSHNBbDlQVDh6Rkc0dTZ0ZGp3N2xl?= =?utf-8?B?a1hzVnNzSG9CTjNzcWFPZUM1ckZnUW80cWZFNXBzd3ROc2NXNHN4K3phMzRx?= =?utf-8?B?d3hMcU93T0s1VEdWbG5vdzQzK3FKancyc1JsM1VldmxaY0x3QUdydGY3ejVw?= =?utf-8?Q?jOMTTukPw/GSSxdnBZWNCA6cxiOMziF+xDjmF?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c0a9bb3-717b-4e4f-190e-08deb83e9f95 X-MS-Exchange-CrossTenant-AuthSource: GV2PR04MB11799.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2026 20:13:43.9328 (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: zB1RpI9ushg5p6jmnwLJZJzpNMU6L5JFQbvR45agi1FIHRKxGf5cC4A03b2DVbk3+IqyU/oD6BlaWDIyEXPcQfxWNCNGPCdx8jG/lRcN7ZiARE9KKDPapoRkWHkeHrez X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11503 From: Frank Li Previously, DMA users had to call dmaengine_prep_slave_single() followed by dmaengine_submit(). Many DMA consumers missed call dmaengine_desc_free() when dmaengine_submit() returned an error. Introduce dmaengine_prep_submit_slave_single() to combine preparation and submission into a single step and ensure the descriptor is freed on submission failure. Signed-off-by: Frank Li --- change in v2 - use api function dmaengine_prep_submit_slave_single() --- drivers/dma/dmaengine.c | 28 ++++++++++++++++++++++++++++ include/linux/dmaengine.h | 17 +++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index ca13cd39330ba..1e25be78a22a5 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -1619,6 +1619,34 @@ void dma_run_dependencies(struct dma_async_tx_descri= ptor *tx) } EXPORT_SYMBOL_GPL(dma_run_dependencies); =20 +#define dmaengine_prep_submit(chan, cb, cb_param, func, ...) \ +({ struct dma_async_tx_descriptor *tx =3D \ + dmaengine_prep_##func(chan, __VA_ARGS__); \ + dma_cookie_t cookie =3D -ENOMEM; \ + \ + if (tx) { \ + tx->callback =3D cb; \ + tx->callback_param =3D cb_param; \ + cookie =3D dmaengine_submit(tx); \ + \ + if (dma_submit_error(cookie)) \ + dmaengine_desc_free(tx); \ + } \ + cookie; \ +}) + +dma_cookie_t +dmaengine_prep_submit_slave_single(struct dma_chan *chan, + dma_async_tx_callback cb, void *cb_param, + dma_addr_t buf, size_t len, + enum dma_transfer_direction dir, + unsigned long flags) +{ + return dmaengine_prep_submit(chan, cb, cb_param, slave_single, + buf, len, dir, flags); +} +EXPORT_SYMBOL_GPL(dmaengine_prep_submit_slave_single); + static int __init dma_bus_init(void) { int err =3D dmaengine_init_unmap_pool(); diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9..0f789fac7e91a 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -990,6 +990,13 @@ static inline struct dma_async_tx_descriptor *dmaengin= e_prep_slave_single( dir, flags, NULL); } =20 +dma_cookie_t +dmaengine_prep_submit_slave_single(struct dma_chan *chan, + dma_async_tx_callback cb, void *cb_param, + dma_addr_t buf, size_t len, + enum dma_transfer_direction dir, + unsigned long flags); + /** * dmaengine_prep_peripheral_dma_vec() - Prepare a DMA scatter-gather desc= riptor * @chan: The channel to be used for this descriptor @@ -1575,6 +1582,16 @@ static inline int dma_get_slave_caps(struct dma_chan= *chan, { return -ENXIO; } + +static inline dma_cookie_t +dmaengine_prep_submit_slave_single(struct dma_chan *chan, + dma_async_tx_callback cb, void *cb_param; + dma_addr_t buf, size_t len, + enum dma_transfer_direction dir, + unsigned long flags); +{ + return -ENODEV; +} #endif =20 static inline int dmaengine_desc_set_reuse(struct dma_async_tx_descriptor = *tx) --=20 2.43.0 From nobody Sun May 24 20:35:36 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012000.outbound.protection.outlook.com [52.101.66.0]) (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 020DB37881B; Fri, 22 May 2026 20:13:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779480833; cv=fail; b=TNoR/KkWMfBfj0nGWHJf6eDAP+dMsPoYVskgJnfXE4vNIqOwlcFRQC9XVAI9U+OAUBncLaQj8RcgzuyKIcDU1Fa7dUvn6DRXbmuB0AUEO4yzKoSUFZKI1H4ZGrcjyHhsw4Jmhu1//tUTEk5GOy5PmXXixBme7CP5DnL2kZUI9yw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779480833; c=relaxed/simple; bh=QwYNFK5US066p1bqi9016s/3R0apCMwPvOMoLZ995Qs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=VdUBSnQBXVIS3AzDA5X9k2bOz0l+GcCOFk35zMnKH4/WBGepY8WaszxmlKonD4gIHgHHDSy3G39y3yMegaTZdR/11ByRAacwHiCpyOK3M3ktIIvMUYIP7j6uX63Ctnk07/KhEOpd5b4DIjYLeK/NJ6230Z1bYIFui3j2g5TWCDM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=dJ4s2uUk; arc=fail smtp.client-ip=52.101.66.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="dJ4s2uUk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AGhF0R5kYxjzAcvNf5kJ/2ziHvK+nKeArw/JN8Ieuqnpdp4+mfbvKE72QQ5wqzPGV+lTwjO59eh7ltx2olWiR2kg6H3BpAx/2JzL7HkPlXJMiDFaSWEbsuFCQiJeyctSBwn1WtMh+WdJdCJ+SGMHHcFwvFGdP3U3mTf+6/Oq237TvOZB3+tBxPs952Y2CsHKcXmqY3psd9Z2iC9DDhwpV1ORBeRZMqSfKJ12CcRfvkE8pKeAp1ZXtyHtLuk8bXBb8IJ8DMsfxfoNVUYeaGiPWWsNQxB+JF3rrkgoQt0gN6N2DTxVZbRHoPBLpfRQGFNqmygk07RS1xtmHLvPquIK8w== 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=dwdFLu3pu9rraGDbFWiYfetrzqEveI5olXM7nVctzls=; b=WeErbSpiJac0stdWYT/a5TPoZwslSiDxSgDzvPXjm0u5ss4nZg0PaI34pcfg5xh+KpeN+CWFqTA4/fTcqkW9A4O0zoCMiVSWs/Eod3cpJhNRBwQ2GC0rmliq55aDPIZvgZWZwjHg/5PrIDoWkloEPxmwVJvNtPZbbcJEJUar03ZKXdKz4FnVWolGSgdrY3FV7hepPIVeC4Pgn3+yfJGMH3kLpU4M3c5pWR7MZ/APC0zGCg+0iLjUtZw4AxaiHwqBl6rfQClXLT5JHV0/VZRR1Wu5ChyeH9eloAYKRqBiPVpAD2Pk6Y8rGnbtEjWTd02CZ/Hv5FbvR546B3WZyUP13Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dwdFLu3pu9rraGDbFWiYfetrzqEveI5olXM7nVctzls=; b=dJ4s2uUkV5fQe0bbIwCJJBNn/q9YKQx3nw/RI/AzwQyNkuIBPZF3Ev5QZ0vWi0xB3KpM4K2EgA7JS70lPIo89NSLYQG/1RrvYAua+nbhCuBO9oDlnxlZhciBJl330/Ws7glsKYgm7WxusCBB1cTmCCFD94DqlzOetBOEB4GU4ORs4gC3ANBs19bFmVikdg6JDwhvts7hxUt1fjQRnoPLYvsvC3fAI1oE7k3vlgar26B5t6Goia8YpZ7VMZxkjqqQS/lD5gA6uMhQY4f/KnyqaTyCT4fMP+AVEpcBGYr7yCYcYkOaxpI5zCo/B4FHjMnlPHY5HpKUWbBQvbDZDtlf3Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) by VI0PR04MB11503.eurprd04.prod.outlook.com (2603:10a6:800:2c7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.17; Fri, 22 May 2026 20:13:49 +0000 Received: from GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c]) by GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c%6]) with mapi id 15.21.0048.016; Fri, 22 May 2026 20:13:49 +0000 From: Frank.Li@oss.nxp.com Date: Fri, 22 May 2026 16:13:32 -0400 Subject: [PATCH v2 2/2] i2c: imx-lpi2c: use dmaengine_prep_submit() to simple code Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260522-dma_prep_submit-v2-2-7a87a5a29525@nxp.com> References: <20260522-dma_prep_submit-v2-0-7a87a5a29525@nxp.com> In-Reply-To: <20260522-dma_prep_submit-v2-0-7a87a5a29525@nxp.com> To: Vinod Koul , Dong Aisheng , Andi Shyti , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, carlos.song@nxp.com, Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779480813; l=2024; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=0oqiLl/YkASERPPvsSb50njVryfyA7gCf6+80IwRBI0=; b=SuLwtjcCez9LYpOeglxmj6e9/lRNQNNBJ+qxtT6D5vVDUok2ckI09VU0q2yMTjnh4K59hWvyx gRiTydg1BjoCDVhcso6qPqNyUmpUpyl4rXwDjfprHpXrOSPfcDosFEG X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SN1PR12CA0087.namprd12.prod.outlook.com (2603:10b6:802:21::22) To GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) 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: GV2PR04MB11799:EE_|VI0PR04MB11503:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bad5c64-f421-4922-2166-08deb83ea289 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|19092799006|366016|1800799024|56012099003|18002099003|22082099003|11063799006; X-Microsoft-Antispam-Message-Info: Y7c8vRBXf/TtYQKwGa1l1hnzFM5Wmyod8Egpi4Y6XZO2zE9I+6MEOSyWv6EbRvxfRFbDI79161h5/SoQmoCn8LSZCgzjHuc7fSua8wgc9DMjhevcbIiZ48UTZsb9YsQh002Q/NHIzRZajCr99vuCu+Lz7liGcgwmG1nc35+76r5GRLgPjUJPsJVh6bqataiHEwSbGhvAQJ6yGIh8ua1z3nNh7G1Xg1BcZSOMF7LTSKE/wrA3u+MLgzLzB5H8FvQKTIEXijWJoOSIapAK9Gdm/3cEancm4SQT+sso5d8n+O552Jkl53Gor667X2NV/lPDaJQXBINRxtXWlbjQRpyTEB59Lr1t7xgoI+XV3DrbHEkE9ubxdmFKycuBoC7E4Ue4VfeBf9FsftoasFS3Ue1YOZq9v5jxpZvWt9PAkLeJFJx9ZbrxHFwF665pZ6cwoLmfA5yee2gSTGHjtRS0O+7B2tyycy5piCruDlr2L9GA+IW83OtEAitsa6EQztuGiI+NEj+AhicxENoJCGwL8LKkX0xWnFzLnUg5r7f2ppP598AuwLUJio80AB3fBy6rfbUM3gotlZt5Pm/7KZ64bL5KImteQnti31fqfZPSrFJQqAbPtcF1YVZMBkNw0U3bzGl/oHToc0AzJO+AEAObsSobvkTOj7TN6OlYFPpCFke+1APPf0aboR0QvAr/mLMDstm5 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR04MB11799.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(19092799006)(366016)(1800799024)(56012099003)(18002099003)(22082099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y2pWWU1aRUZkSUc1VERrUm5ubHZXdm1NbkRHQkpmL1pnQ3l4UFB5MWx5S2lP?= =?utf-8?B?TXozWVp6a0dVcjZJb0tWbEZ4dU1XUmEwR05MOEtjenVTY254cmVWa1Bpd3NR?= =?utf-8?B?bnhLZTJFZ1BSMEsrdjRXUEJWK2tGT0p1K0FISkx3cDhhV1BXd2hBanBUUUIz?= =?utf-8?B?aEFHbjFEMGdjT0I3aXM1NTkzbkduejlER2daU21LYU5EMlNqNkVNQ0pRL2RN?= =?utf-8?B?SGREWDloRitFaVFrd2h2U1RIMWovcGM0N1NQcmJFYXgxM1VuWG43azdmOEJj?= =?utf-8?B?NUF4bys4SDNXZGlNeDlhNGltRVBnMjBOZzJYeVJVU2Q5Y1JXakZJa0oxbUl1?= =?utf-8?B?cUlKSjRBTlNSOG9yZmliVDl4b2w0VDRWeTk0RmRBMjBnZkdTNnJxZUJvSGJE?= =?utf-8?B?elJvZ0hiNnhSUWk4aUluNFloZHBGRWVPejlFYlRsVFZTbWszS2QyWjMycEIy?= =?utf-8?B?aEFOUUp4NE9GK0M4Qk96WTJnQ1hXdXdXcFIyZVNjZVQ3VnE2aExTbldRcGJ3?= =?utf-8?B?NTFMWDRMMWdkZ2xac21kNzVZVDB5eHN5NzV2UnlzZGl2ajJHR1oyRE00RjAr?= =?utf-8?B?TmhnOTQzRWhHRjdnbDl1VXlKMWxzUGVIK0s0VksreEJtTVJuNHhMSlZCK3FN?= =?utf-8?B?R3ZheUp3MFBWejY4cEQ1RnhXSDhXMXRQWXFQL2VVeXpEMi9EYWE0QmVuMVR4?= =?utf-8?B?TnBvVEVma290YzNxUEs2TUt2a1g2dkZ4UDcvV2VrTlI2VHpGT1RXTk1palhN?= =?utf-8?B?KzYxZExVR2gyQTBvTll4TkJLRTN1d3hLVmZiMFZSSlZ0NTQ2L2hsaXRHakIy?= =?utf-8?B?WUMrcllZOW9kL3JjUFV0TWw4RFkvOTd5UUpsNmQzVlNnbDc0emxKMk40elk2?= =?utf-8?B?N0FQa1hwWElySWxHbUQ1NW4rbHRlZDVDRGlvdjZaS1VsOGdGY21DOTJlZ3NR?= =?utf-8?B?YUw1eWNSb1VZVm4wWjNBQXozRjBVYzllV3BablJOWkxUWHJmbjhBN2lIWnJK?= =?utf-8?B?ZWxRK3pwNG9GWkRYVE9Yd2hwVzdqRVpQZmV3UnkwenlpZzA3eU5vQ2o1cDk4?= =?utf-8?B?bjdZN3c1MmdhU2M0SjdqNk5GZE1aSzhNakRwRFF1RlE4RkI4cjdBMCsxQmFC?= =?utf-8?B?ejBHMTA3aVNnYzJkM0dNczVNK1NkK0thelMxbWRLelRjZDZ5VnptZ2FZRlpS?= =?utf-8?B?ZHJCSi93UVVJR1RwZTBkSmN4TDRDWUMrdlBtTlBQRERyYkpDMTVvZUJNSXRq?= =?utf-8?B?Tm16T3dtelhSSURTQk1Yb1VMcXpHMlRyZlhybnJ0NmRWYWpqRTQ2cEI4MVBj?= =?utf-8?B?QkdwSTdRNzNDMGQxd0Q4SVR4NEpIalFySE41R1d5OWxTVm90V1pWYUpKZyt0?= =?utf-8?B?M2xaKzNMVyt0NFIvVmdBelhWMHJhaytCaXQ5cHUwTU9vK0twOVluTnowbVRa?= =?utf-8?B?cUR1OXRLK29uTmEvVTRlUUhhaythWldmMXRXVG9VZkNHNityWVN4YzV4ejJR?= =?utf-8?B?NHU5bkc3QUg4YmpNM3pEU3JhYWZQU3p6RXp1cE9ORGxBSERrbExZNW5VZlBY?= =?utf-8?B?R1AzY2s0bTdUQUZyS1c2K1RkUGViejFGaTgxZE1WOC9WZktHVVhoMXRQMWY2?= =?utf-8?B?Z0tpbldoeTVsaGxIUkloeWZTK0dlUmc4TGloTnpndlRSdmtRdGdPY0NoWWRv?= =?utf-8?B?NmUzWnJxaGp3cTI2SytBV0FEUisrY3EzK0RvQStvcHBSTnEyb2pZRTVPbXhG?= =?utf-8?B?MU4yc3Btd2pweXlQOXBCbWcwT1VqSUFNS09QZUZnZGxZWFkwR1RRaCs2RzBV?= =?utf-8?B?YTQ4U2tySCtydFMwU2djakxsT2x3YkdoZnhWcjltRHRDd0Q4eXhVay9zeGlq?= =?utf-8?B?TnRBU25yaG1jMERwaTN4TUQ0akZMVVFINWlBR3dGL0xJZ1VCY3pUWjZJRi9N?= =?utf-8?B?UG0vcUVTbnhpWkZQNmF4Rm1RUVI0TXJnVFV2b3p2aFRhZFMzODJNUlF1cFR2?= =?utf-8?B?bkZXVHFHZ285NnBvTzlPYXpoOUZqNWlmUHYrZlJsaklGQlI4R3phOXFFK0RN?= =?utf-8?B?R2IyZ2lmci9Ndzd4cWgyU1dUV2svZ3F1WVVJNWZPVlIvUUw3L3IwcFdPaWtk?= =?utf-8?B?SkdkbzJmbDIyZDVQOTZFSkhHY2FmVS9HTE5kTkxpVEt3WEZXejZ0UHlQVlNJ?= =?utf-8?B?Q0l6Wk1HdE5XZWdlNFJuQlRyazh0ZTZwT2lJZ3dHRURFRHA2TFhTWGZkQk9F?= =?utf-8?B?YjFlelRSVDZNQVRreUltMy9nQWNIWEt6ZWpaT3o0M21SUFVlS3BrNE1La0h1?= =?utf-8?B?WEFJRmlDdzhwS3pKaHhNZDE2Q0JENWFGcDB1VW53TnF2Vld0ZVFtVlBCWGxv?= =?utf-8?Q?BcgfpSCapkh8nCl0uPNcZ1cJAwmRd469g4nZ8?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bad5c64-f421-4922-2166-08deb83ea289 X-MS-Exchange-CrossTenant-AuthSource: GV2PR04MB11799.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2026 20:13:48.9255 (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: IxFTZ3+//6cPcNV0Y2BT4uEWm+LcWt66Mcb6mc6X4dfwJw0AVX2EPSr976I4NVHuUv7BkF0iSkHi1bAP4wWazhMQA2q9i+wws7LtUCu7GJlFRURF6+ZACIdbISbTeUZ7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11503 From: Frank Li Use dmaengine_prep_submit() to simple code. No functional change. Signed-off-by: Frank Li --- drivers/i2c/busses/i2c-imx-lpi2c.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-im= x-lpi2c.c index 2a0962a0b4417..c90f72eec8498 100644 --- a/drivers/i2c/busses/i2c-imx-lpi2c.c +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c @@ -720,7 +720,6 @@ static void lpi2c_dma_callback(void *data) =20 static int lpi2c_dma_rx_cmd_submit(struct lpi2c_imx_struct *lpi2c_imx) { - struct dma_async_tx_descriptor *rx_cmd_desc; struct lpi2c_imx_dma *dma =3D lpi2c_imx->dma; struct dma_chan *txchan =3D dma->chan_tx; dma_cookie_t cookie; @@ -733,15 +732,11 @@ static int lpi2c_dma_rx_cmd_submit(struct lpi2c_imx_s= truct *lpi2c_imx) return -EINVAL; } =20 - rx_cmd_desc =3D dmaengine_prep_slave_single(txchan, dma->dma_tx_addr, - dma->rx_cmd_buf_len, DMA_MEM_TO_DEV, - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); - if (!rx_cmd_desc) { - dev_err(&lpi2c_imx->adapter.dev, "DMA prep slave sg failed, use pio\n"); - goto desc_prepare_err_exit; - } - - cookie =3D dmaengine_submit(rx_cmd_desc); + cookie =3D dmaengine_prep_submit_slave_single(txchan, NULL, NULL, + dma->dma_tx_addr, + dma->rx_cmd_buf_len, + DMA_MEM_TO_DEV, + DMA_PREP_INTERRUPT | DMA_CTRL_ACK); if (dma_submit_error(cookie)) { dev_err(&lpi2c_imx->adapter.dev, "submitting DMA failed, use pio\n"); goto submit_err_exit; @@ -751,15 +746,9 @@ static int lpi2c_dma_rx_cmd_submit(struct lpi2c_imx_st= ruct *lpi2c_imx) =20 return 0; =20 -desc_prepare_err_exit: - dma_unmap_single(txchan->device->dev, dma->dma_tx_addr, - dma->rx_cmd_buf_len, DMA_TO_DEVICE); - return -EINVAL; - submit_err_exit: dma_unmap_single(txchan->device->dev, dma->dma_tx_addr, dma->rx_cmd_buf_len, DMA_TO_DEVICE); - dmaengine_desc_free(rx_cmd_desc); return -EINVAL; } =20 --=20 2.43.0