From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E8694D609A2 for ; Tue, 16 Dec 2025 15:10:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Type:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hKGr7WdPEWXABnKqkOSBYH3Okb9OT+K/Fy/JpoNPO5c=; b=GuyeZcyz6fdrXCc8yx+c5oU8/0 ABCi7APRFfEUAUF+UXGiBIpO+ROQqVt1wBZb90Wcp5jXscXdGW5V7TX1TQ22p+vuhN4786OunKlJr /PoqdpNc/2PpTj/AtmyG1o/bpHgFltat45nj4CMRpCenqG2CljuTK0DybcOm9+vxWa5j1RepGUXzh Lzfy+0xoBO7Ni8CjSQ0TIa/kaiFh8t5MaadXB+Ga9i7Vo5hwGKoo6pBh+obLqPtjygNXmY5nNo3w0 Q3aHkSWgcVxyeGnrOOWBirmdHfwsi2j/jR7JFKlNY//Qiod+MrrbgeDVymYRbMpnbOb10fVcpCKAF j0O0mMaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vVWgv-00000005Q3o-3IUL; Tue, 16 Dec 2025 15:10:21 +0000 Received: from mail-northeuropeazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vVWgt-00000005Q2w-0wTM; Tue, 16 Dec 2025 15:10:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KoCC+RWM9lmFhV1uybYEdtfqEAY8JGdT/9FSkRJT+pCQE5I5gvvJAtNyjMadKBWpF/mRtTJGlORTTdklprFBN28ix07qbbiD5o8PnhDA5pelA+AzTt6Hq0TG7qMMLYcS+QZD8Yf94A7UeMmrThS6Ru1uw4DiTx2PdeRISmwp6OyopE+7xSqv0QivnbsRrcs1cxV01J1ohT/QdbOd5PwlLUz8X2G4C6FjILAI0UanMqwXZDpxJECpZ4pskYAt6CnFqwwkKy/B6WqMgxxZo5epIKE6YDbce7WwHpPj2qox3NNpXybeL41ayxh6DDS8mu6mU8dhKPmq81ILTQynREhKpQ== 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=hKGr7WdPEWXABnKqkOSBYH3Okb9OT+K/Fy/JpoNPO5c=; b=VenX5yZunlrsPp6NjmclQ65YOpINM8ptnpGzZU8MiRCHlGwzSsKHKONmBLCFdfV/pN0WoUvg+pw0/Xw32driHqiAM3SfzlUIboRES1Xm0mH1fP8Y1Rr2KkVt4EJ00iZJU+62sI31FhjfvVCk9T4qAH3Dmbk1U0xQvzWztvyoJmEOxTvdrIpdlVl42evqguP1PqkpkqraoVibpEcNVXdlHMHaWSfoKeRIbg9ICtG2QoAaHso7iv2LSKDln1ByO0lAsZ3kRQHEd1pMzj9j8/593CcIs313jnG7zTbBfUmP2vrhxGITDwHSAqqokUciu71KrCRBKxetUaIki+3Ep5xGaw== 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=hKGr7WdPEWXABnKqkOSBYH3Okb9OT+K/Fy/JpoNPO5c=; b=hBjZdeaH16z68aWgJb+1OHn9aUx+iFcTFfG5R5Ir2MMRG8Es0PNIuyMuZ1CZET12QCejaurGAN2kExEhHbdtlY8QsUFKx0BRAcU4VgVtUM23rOc94W/FpntGxpPGUvTrwZjM8aY4ltVbvMJYZPmtVVDM9oeCdG5AeMsQ8SAhtoB5I5YxpqO6WTFxHYzaSAwGWwnwa5VP54jGIqdrHgtnQxlNeBOEnzeTQf6ecN4LKO35KpOaH3ebkgPkbHW9d5982y4OXltLNBHfG0b1SxzXPAsbhrTGgRTWKIJjBGPnRNeEolpjBYOg4J0f0Q1RLVqlvHu+QtlCd/IP0iQ1ImK4+A== 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 GV1PR04MB11516.eurprd04.prod.outlook.com (2603:10a6:150:284::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Tue, 16 Dec 2025 15:10:12 +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.9412.011; Tue, 16 Dec 2025 15:10:12 +0000 Date: Tue, 16 Dec 2025 10:10:01 -0500 From: Frank Li To: Vinod Koul Cc: Manivannan Sadhasivam , Krzysztof =?utf-8?Q?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 , 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 Subject: Re: [PATCH 0/8] dmaengine: Add new API to combine onfiguration and descriptor preparation Message-ID: References: <20251208-dma_prep_config-v1-0-53490c5e1e2a@nxp.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BY1P220CA0017.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::6) To DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8951:EE_|GV1PR04MB11516:EE_ X-MS-Office365-Filtering-Correlation-Id: 93707ad2-31f6-4b8a-9680-08de3cb535a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|376014|7416014|366016|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Hp2J0XNitOzsxF0SsSV406gnI+wbvIuIibWVazSAELs7KFuSm7MmtOsDfFOF?= =?us-ascii?Q?VUc99MktdjW0+cM38j6LXoa7SkjJN0Km8JiEN9/ExhfuaHWuQhgdqpht+nfu?= =?us-ascii?Q?tfVkI0NDoHRFn5VPsC/SvKtcGk16ZSU/MWF9g5wrMW5m/gHvAP8M0y3GuFJy?= =?us-ascii?Q?ae5Mr6+vSaA4XaPCU44wko5go81jCQE18KEKYDTL8RRXwtuMe4DyWm5MRbAM?= =?us-ascii?Q?g0CmvpNpc3LfqXkw1TXesFFXmK//tPvyI869vUFnVf8C4ffQXm7HWkJX5S7K?= =?us-ascii?Q?DxeoTJxaTgQ3cQiWqOxMzWliyIjzp/kBxNgk8Pdx37zJ4Mx0FHmoavnnS207?= =?us-ascii?Q?TifbHN+Ubf/5bsNmpC20iLVrxCgfs660ijgfd700j9+7wcqPRIp/U7r6cfJA?= =?us-ascii?Q?0Z4x9y+vQP2DZRI39UZysq3QhD9/fgwYgZkPeJvBFQ2zTlgGgu5nV2rDeE+H?= =?us-ascii?Q?+f2jjG25GneN419UfRJZw9I5zngLKjvJHE036+Q1Ab6ANR1KSTcPFYc1uVY3?= =?us-ascii?Q?ORXBqCmFKAmvXhc/IOECuzxv1wOpLV+ED7K9lpJYSmYxpUWN2zRrfR+SjS99?= =?us-ascii?Q?CyOjn/QRiCu+aI1dzuGwhJO0ejEdvM2R/ESPjauT7lOhAonyz2Dl1hK51iIF?= =?us-ascii?Q?TxTtEKJ7caUG3ZSNzZXXXs9oLaBiEU7ElhSe7g4gNtFUEvTBFLfBJjqdE1P3?= =?us-ascii?Q?S3C5hhLWCMwtm6mqg2Q+DZgL79EtOP0gZ0RW0gm2lUUpgC7n3I+BJ+mEYJ2H?= =?us-ascii?Q?IO6uUrXIXgNnW0WcyfhXp4Zw/CP0UdCUFrEDGGrIVywKw/j//XaugEIs4m13?= =?us-ascii?Q?hi+YosnJiK+o3l0eqTah5CoGXZePzKZxkW3whrDPvbkCigdsQ0V38jP6OaA9?= =?us-ascii?Q?MX5WPVvj7EtI2dCt7wbQq7Bv/fKi6mvZtVpxS4wXmnyF1Kw1U2jKqbwnLNE9?= =?us-ascii?Q?wXRQZJ87oTIat5N2KZfsSOspk+t68IJibhzYYAIy4BJUHrRBtp6CWf6wR0Pv?= =?us-ascii?Q?1aKeN7AxgRh2GpkAnkQ1Qp94vBE0BIbZg5wD5ZJGs4Sqb6viht0smno/tz5H?= =?us-ascii?Q?OhvGou8deAAmj2z0/LKrY5dF6eh72B9OtvT2Mu8qlmKdgFl+ez0jiw/Kx+Jl?= =?us-ascii?Q?DV/wEj/IBFADKGaw42EUOXA6zIKAcgmw9zxtLAb5rKEalUxFtRVHZzDwNNdS?= =?us-ascii?Q?LJEeYR4SM2dZDxvA/fLPWSVHhLak56UJfHdu+3w1FMak9NejbIS3Fr3NHfYp?= =?us-ascii?Q?NEAecIXh4mrsnAM73PY1cVzMe5wDGzN5jAgwBtKwWQcviFDIGy3Hn3Lwdmpx?= =?us-ascii?Q?RlgUlStoDdlh72+2CHsipzHytRiYG8TRzuRNbvu4fRnvVhFBJ8C1s59PSRYq?= =?us-ascii?Q?6RBBpmev9D+cQ0letFuID6H2Q0OXj6wGp2T2IZv4mSLx7gALdLAcIMOasM3y?= =?us-ascii?Q?u9gjpAmcEUHDQSinTqslADAHWNTpiKgCIhtsXmljrXP8rRrbQFF0RbHx8xO7?= =?us-ascii?Q?QoLRql9qQvxbHaEnoUO+wcCVeUKc016m20t5?= 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)(1800799024)(19092799006)(376014)(7416014)(366016)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2+BIrgwOGqOxfHrInobfDfXk8OUM6IqDJ+l2QNInscL3u+v/Dd/c4NWImd5E?= =?us-ascii?Q?H2VEmwT/JfWcqFXEInNs65kF1GH8IfSl93KJ3ol80FapuW4+0Cc9nRVezZ10?= =?us-ascii?Q?mRJyGzNaqjlAisd9wMV7szgaamAcOKFx/VAWLImdkA7nToH4mGloGvk50+Fs?= =?us-ascii?Q?xdVXfsyXa+S3QDKQ8Rwz7dg+4shgf7LOp1RuPSj5XNQx6ZPcqa5LeWpbx/qT?= =?us-ascii?Q?BiATR077ljI6hInUFSkQPQgvIbSTNtrYJed70zHH+DUF+QXrYVjsvRYFWUg/?= =?us-ascii?Q?1W8dH1haWEejTMgYqxE4N+OFifdpgcDiB2nMtH7v21d8XunHJTnyhw8peW47?= =?us-ascii?Q?+okARPBVDZ9oZECpvmQS17+7t0dXcgO2jhlr9Ip7OA8+P+wU339Dg3RY5pSy?= =?us-ascii?Q?g971Ro5Tv7Q4IYis5EnM0nxN1nWRyw6BJBKUSEdgRGuc/j9L7Ni0yf42huT3?= =?us-ascii?Q?7mE8/EXZRNUc5DAuvXOeJzmENFT/Bj9CIlRd+BotHyX1hp7Sf1yepUWQOhqf?= =?us-ascii?Q?svrP71cYWiRpvh/6zLDbJLhGsLI9AG6WyOdBuf1kQhyEEJ2H05BCbrbFtL4d?= =?us-ascii?Q?Yurm234VNlfXys7/vT0ja6M4OSqveGf8XTST6cS4HgmT4aQVyMdkciBGYA9M?= =?us-ascii?Q?lCVrPx6ddvrMILCB6zfzodaDyG2MqoMjuaKOWTl6FdtI2imSnEwgSne34Tnz?= =?us-ascii?Q?eNgfEM/JTkYAlwrB8Jica8fu40OTaiseTN1ZvawJSni6/mxDilYHoIbZuU3Y?= =?us-ascii?Q?inMdgKm2HjbaZqFjGrBMWIXh6BJKoxcTRSalvjJo370psEgm/r3soVnWhgQm?= =?us-ascii?Q?VjPAWdcHtLCrktihtPhJK2Q+3NzMnr6HWKPcuP1dMI2YPH8lNEH94r9+RLsG?= =?us-ascii?Q?p+cb7YXZExnIJbwL5gh47ftTiWBpzhdRX7WGtrcq/AYZ2D8BI5poBhf/jgHX?= =?us-ascii?Q?q/4gVQ+bhCbt80QrmoNxmaWHfiK2KtYHsMHpz3YHMebYCNrZli9YlWJRH2XL?= =?us-ascii?Q?LHJtWc/2k0Bvifl/n7VUI6yiinTOug0lmYFLmkoB+yX8d6i3eEGRy/WDWR9J?= =?us-ascii?Q?Qg/P7PAiG/5iCoDN5ydufL1HDF0H+TG1/g3d7eyIoqiRdqENAYvU7Q+FVvxQ?= =?us-ascii?Q?vof/2Tsx6AC9n77uOs9EiIeBlec5r1YH/K1ULZf+oQok1IrQYY8SHyFrTV01?= =?us-ascii?Q?nit2TYQZ/y2304cfpBInS9tiXP2wPmA7UuCPPuH9aBhADxSZAucAsOVaIpkD?= =?us-ascii?Q?Ve3IIuvuUtnmTh20UB3fCr0xPCqx+eEBFGtK9kzFQOu4ySchEqjWwoCfeEK/?= =?us-ascii?Q?Dw3oT2Zr5MTzFG8SJLrZZTNCc8v0d8C6bT3kcpmSB8NjiAa5qLE6HJsXw34C?= =?us-ascii?Q?YObww3N8zYA9elAITaNoMeES6RUUYaBEKc6wRcbYsB1S19d3M2fT8V+KAlpW?= =?us-ascii?Q?Y4JuOXsUTMyeKRsIVmqF4dWbvJOl3aywihs3hgi4vbsfbOlkeUIz0VyngExj?= =?us-ascii?Q?j9aoLJVYn8+sWUm3BvHvg618Nq8PFlZM4fsksTyh0WmFzBMKqDqOLJxc0+qX?= =?us-ascii?Q?dLr7736vVruoDLCXcV4eL3/DPbkh62bY0APc3I4A?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93707ad2-31f6-4b8a-9680-08de3cb535a8 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8951.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 15:10:12.1898 (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: H7U2BvgqZfnD6TOjyFC/mC8ZKehhAl1Q1tDRTWS+BpAbDY+nojHLyyfi7dZe3qtqIpCeHuBnmYvqj8QyXOq9cg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB11516 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251216_071019_275143_0BED3563 X-CRM114-Status: GOOD ( 25.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Dec 16, 2025 at 06:15:19PM +0530, Vinod Koul wrote: > On 08-12-25, 12:09, Frank Li wrote: > > Spell check on subject please :-) > > > 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. > > > > if (dmaengine_slave_config(chan, &sconf)) { > > dev_err(dev, "DMA slave config fail\n"); > > return -EIO; > > } > > > > tx = dmaengine_prep_slave_single(chan, dma_local, len, dir, flags); > > > > After new API added > > > > tx = dmaengine_prep_slave_single(chan, dma_local, len, dir, flags, &sconf); > > Nak, we cant change the API like this. Sorry, it is typo here. in patch dmaengine_prep_slave_single_config(chan, dma_local, len, dir, flags, &sconf); > I agree that you can add a new way to call dmaengine_slave_config() and > dmaengine_prep_slave_single() together. > maybe dmaengine_prep_config_perip_single() (yes we can go away with slave, but > cant drop it, as absence means something else entire). how about dmaengine_prep_peripheral_single() and dmaengine_prep_peripheral_sg() to align recent added "dmaengine_prep_peripheral_dma_vec()" I think "peripheral" also is reduntant. dmaengine_prep_single() and dmaengine_prep_sg() should be enough because - dmaengine_prep_dma_cyclic() is actually work with prepiperial FIFO - some prepierial FIFO work like memory, by use shared memory method, like PCIe map windows. - argument: config and dir already passdown information to indicate if it is device preiperial. So needn't indicate at function name. - maybe later extend to support mem to mem by config becuase adjust burst size for difference alignment or difference bus fabric port to optimaze performance. Frank > > I would like to retain the dmaengine_prep_slave_single() as an API for > users to call and invoke. There are users who configure channel once as > well > > > > > Additional, prevous two calls requires additional locking to ensure both > > steps complete atomically. > > > > mutex_lock() > > dmaengine_slave_config() > > dmaengine_prep_slave_single() > > mutex_unlock() > > > > after new API added, mutex lock can be moved. See patch > > nvmet: pci-epf: Use dmaengine_prep_slave_single_config() API > > > > Signed-off-by: Frank Li > > --- > > Frank Li (8): > > dmaengine: Add API to combine configuration and preparation (sg and single) > > PCI: endpoint: pci-epf-test: use new DMA API to simple code > > dmaengine: dw-edma: Use new .device_prep_slave_sg_config() callback > > dmaengine: dw-edma: Pass dma_slave_config to dw_edma_device_transfer() > > nvmet: pci-epf: Remove unnecessary dmaengine_terminate_sync() on each DMA transfer > > nvmet: pci-epf: Use dmaengine_prep_slave_single_config() API > > PCI: epf-mhi:Using new API dmaengine_prep_slave_single_config() to simple code. > > crypto: atmel: Use dmaengine_prep_slave_single_config() API > > > > drivers/crypto/atmel-aes.c | 10 ++--- > > drivers/dma/dw-edma/dw-edma-core.c | 38 +++++++++++----- > > drivers/nvme/target/pci-epf.c | 21 +++------ > > drivers/pci/endpoint/functions/pci-epf-mhi.c | 52 +++++++--------------- > > drivers/pci/endpoint/functions/pci-epf-test.c | 8 +--- > > include/linux/dmaengine.h | 64 ++++++++++++++++++++++++--- > > 6 files changed, 111 insertions(+), 82 deletions(-) > > --- > > base-commit: bc04acf4aeca588496124a6cf54bfce3db327039 > > change-id: 20251204-dma_prep_config-654170d245a2 > > > > Best regards, > > -- > > Frank Li > > -- > ~Vinod