From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 E43E32D8773; Wed, 14 Jan 2026 17:13:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410796; cv=fail; b=qsesvMjpO0OwJ4LcdRPEEVH06M8Rj1fR/EYi2m1jNmyADj4Jrc7Oq4Zfdf52XJ1mX61lwXy/LDSxeAKcWmqZTzPKbtQ5X4XU5i0hqkIpqxCZlwehWHKVw1mHwurh2SITYHa29/d38AmgKFRxdzhv6WJZdiudBNtx83D/c7JXANY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410796; c=relaxed/simple; bh=iNxT+5RizzaH31eSOaTYX8/xOFmhLp7S6gFVdUUgZ0k=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=DRAI6OpVWG6UYjE+qR/cTUUY4dt4d+7P9iSbrYiJ9D6i6agJ/pvDRtmK7C5TWwlFVUyxFtzzDiKOTgj3VV0NYKgU2MVVETUnkzVVRV4GA45c9/a/01ayf3U3rCwZFbDVlkNZMuGC7mF83PXf333mtp/KnDIv/OEvaHMXBtbxxN8= 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=faY1y24B; arc=fail smtp.client-ip=52.101.84.15 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="faY1y24B" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aDfdekPVsGGTZ3OUB3/BB03rBncLYHs5NxW+tvwHnw0z3DbNtFODb/4LgWKZZbIDPQCWJkzb3S7fseZJMnGAh72sW74McqhODTPOJIMSSOQOpyVARYO9cWzPyp8Y1iCZpC07qUMfClRv/Vdd2U1S8nLBJEOK23iEDYcQFCj2zQlztmSbNk4wbilC15yfESkAuqMC317CMQ5EfI50n+iJT571KTrOUrJupznMcI0/sSbcpmlecWghysj/ZyFL3svj9nmyIHhvRfP4iIbxGu/YCMS74sVpfPggi7aFD4jbgOarhlaH1BBAAHbch1J2VNrEmqBUC2Tn6lmXjfgPPUvTfQ== 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=UOPS2QJzpixToSht34ury4qvWgh98yIagWwYZShZAXU=; b=wbCrjTi7bEdrLjP72pFQv2HEPkordfRZGglXgqRWFh/91zZoGVrQujCX4U0SD1O6UPANp4L8sDwqYf81hpVFiIAqpQcnm63tNwGg630fgwEjHERgPxNdPKLJH6ng4qeQ6cNwFIayFMvBbQ6vawkuBYAuM14AE7EVHf84uBr7KmUWxdiutLzMR7XpSMfkDjVycA9DXUkcYy5p7B0wWQf/oZP5yBasfVvmGNudBJUA1vebSmO03aIdOznN43L2cJ4gmPEG8xg/4n96edg3pJh2HTLDWlGjtGtGSLJlf6xCCxEGgS6JtRAnFo8/IEJxJfUaQwHSzZ8wvCbOPGJjvacBSQ== 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=UOPS2QJzpixToSht34ury4qvWgh98yIagWwYZShZAXU=; b=faY1y24BgybZNCqtfkjjZyvv8cfW/dVo9b71snh2oLcmGoalSCt3E5BV0fXfeWzzDyTBHEjOocGXYJUAa4F3yg6rn4ofVlYSdfL8Y+z9Ni7HKsXfaXq1RkZofZ4WzJftCiq3Jz0ap9IoqXuW8BmxKMpV9aR40UHKLxa9qs+96kELRwKPrDJ+1tNwvDucZWwHVuUQPgMnqTAVzmt3qs50xEXDQ8OQF+1nHNMKTpiR/XQqkBNAFjamcE/khJLo95JBasLoV1MJvq4wZcbMM1J4SyOpKeLahXu35/rAPyKw2yds/B9/a5HK/oTfOgPDBk1mMVL7AJSqR7bJlHPIXG4YDg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:09 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:09 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:42 -0500 Subject: [PATCH 1/6] dmaengine: Move struct dma_chan after struct dma_slave_config Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-1-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=4851; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=iNxT+5RizzaH31eSOaTYX8/xOFmhLp7S6gFVdUUgZ0k=; b=yrOiclvHwGWAzf290OT9kR0//+7pyuZ7Cy7VLYiYz+0NCtllmL4AdmQgQm6WAjw0bEilEvwWZ NBlw8Af2xaVAhflGBgny65B8O6SnyT04Qe6a7cGynBxPDzg4bP0I9HG X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: 3fbf22fc-6e37-48de-5e58-08de539030bb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M09GVUtrb1pINWdKOVgxbUdGb1VWaXo1dlRFMC9BcE15RzR6VlhwdW9KMUMy?= =?utf-8?B?RDdsMGRuOEJKZ0JKZDk2aVgxUkN6MVpaclpWU2tMMHNvVmpWTCtjdHRCOFFR?= =?utf-8?B?SFZudjBpeXJSdmVNVThiL1RrbHVDTnR1by8rcElQT2t5TTdPaldHS0l1dDZQ?= =?utf-8?B?LzlIRDJ6ZDFyZVRHZFRoeG9zYnlhSmc3NG5tTWZ4VmhueFVkZ0FkWTF3VU93?= =?utf-8?B?RlVLOFZRK2I0ckRyQytZcS94MER2L0tIR3JzOHpDMGp6clpndVBzOG8zN3pM?= =?utf-8?B?VmwrUTQ5MUhnc0UwMDc4ckFFSURCREwrUTNYRHNWWnlsRzJIRW1vamJlajNj?= =?utf-8?B?U0xIaThTb1F3R1ZFMkFVdjNJcksvMDQvRWx0SmZJREZrN2tQdTZlK200ZnB1?= =?utf-8?B?UEd2d0FCRkVvNVF5TDV2SSs2NEpFQitVeFFRYU5GdjRSZzhLMHN4MHpubjVZ?= =?utf-8?B?RjdLL05vZXVIY3NjQlltZTk2Z3Jkb3ZtYll6bDVISFJOdnhWQmNJZlhWQWtS?= =?utf-8?B?Uml3SlZ2bS9sVEVpZ1dhT0kxT0dlRVVDd2JBVVFKVWRkQWdsSlVubU9td2xq?= =?utf-8?B?Ky8yd0htcEk5RHRiYVBBbzB0ODBNT1puNWc3YW9STU8vTW5lQ2xRRWlYbC9C?= =?utf-8?B?Tmg4ZDNhTDlBa1c3ZHRoTUVja0Flek5QT2FicURsdmtjZGRza2dUYmFVeElX?= =?utf-8?B?emsrQVdIbmRqd2cySzMyV3BhT0lIaERCUlNacFp1U082Z21nQnkwOUw2M3Yz?= =?utf-8?B?b3VNM3VNYUFIc2RBaWFWTWhhUmNISkRtNmplbjd6SUhJRi95UVFlem43VU9h?= =?utf-8?B?SWJ2MzdlRkljdjIyZXZKQllrU3g4TWV0MWZBN1JBOGU1RlhQRGhiNmtnanVJ?= =?utf-8?B?bFpiYU9zYTMwRGgzaXlGS096MnM0U2lNWllhWUlCdUlobUJ3MU1zeUExRit6?= =?utf-8?B?N3hGeUVlRVhUY254OGo4U0Ezc2Z3d3dnS0RVZnlLL2RFdVNNOWlsYWRSTURL?= =?utf-8?B?bjZnYnZNSmdTVUFtdTMzWTVhSWhQVmNzaGdWd2RseHd0bTE3WmY0RlM4aFBm?= =?utf-8?B?MEEzWm9oczdScUM5Q0ZvWjJ4MmQzWUVRUllHYXRkQmNWVlNwZjlXOUl2Tndn?= =?utf-8?B?YWUxSzBYQ0thYlJLekwzYmlLZnBGd3lGVEJRbUlqSFlrZUliMDVNclkzZnpm?= =?utf-8?B?akQrZ0R4T0NjTWZtYkhjemFJWlFsWE1nUGJtaXJQOC8rV3htK29qVlMrWTZr?= =?utf-8?B?Szd3a1BjV3NDRzN3S2tlejJtbldDWlM4THcwdWFPdEhFYVViWnlBamhNMnlK?= =?utf-8?B?OTdmZ0JDU3lwSE01NkxrUkdTdTYzNXlZQ1BEVXZwRWlGTVJxMnBtcFU1d2Nw?= =?utf-8?B?WkovcDdtSXRncHdkQ1k5c1lKQ3RzNG9kUzV0Ukd4cHhKOE84L2lCSjRCdlI1?= =?utf-8?B?NU8yQm9rVlFGVmd1OEtWMjF1QUhVM3RLWkdLUGcxUEVDc1JvcE5jSENjSk85?= =?utf-8?B?MmtNR3hmNk9lY3ZTMW4xMXk1OER3SUVNKzB1NlBXTmp2cGFlZXJ3VE1JbCt3?= =?utf-8?B?NTdjTnBLVUQ0djNhdTFjQVFudEZGdEI0c1RiUFBnNEYxN3BZcmJIVnNobE90?= =?utf-8?B?ZDB2eUlaOHhYSnpZUTFsOGRBSldIenZ4OHBYRk9sck1WOG5JQVFQcmw3KzZx?= =?utf-8?B?M3VuSUNmb1VNMFVUS3FJZFNyWjg0UG5kQU92aXlLckFzYURXUGd6NVN1SDN5?= =?utf-8?B?V29xZ0lNQ3pMNnRFejVEMUdiZ1lFWlZxOEhaRjA4RFNjSFZUUzVFV0s2Y25x?= =?utf-8?B?MHNROEtEUFhqNk1TSjVDcHE1UGlwQ3JST2I4L0VDbkpYaGtZMUlvK2dOZ3lB?= =?utf-8?B?T2VuMjJnR0NSYWZjdHczbUp2UERNUU0vUzJOdlFqeU5Qb0JjRzltdTQ1ZGlz?= =?utf-8?B?WVJTbEV3QVdyazJYajBkYWJjSC9QQWl6VUZoTW9DT283Mlcvams5ODc0ZGNx?= =?utf-8?B?OEdoQzZrb3lPQUgwNVFCVUpVOEVpeGFlcFRlV0llTml3Ti9UTGhGcG9pRmtj?= =?utf-8?B?M0w3aU5JK3h3dkEyaDRnNEkrb3M2bjlSNkM3UkF5a3FuRmhhRlBIMHBkQ01u?= =?utf-8?B?VndLNnJKdXlzdW5KRUtmdnptUm5YaW5oVnU1UnlCL1hoY0FDMjVla1RkemRj?= =?utf-8?Q?gEmnXqyUqpmzTIlwqOIMAWA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzB2RVczUzEzNFBsaUpMOHh0UTJYaFJCU1ZudFdXTWZKTTM3QWhwMWxNZG1E?= =?utf-8?B?bmxOVnFKc2gxakdtdmpjZkhza2Z3RmU0UzJNOWkwZUhyWURmM1BuNHFheHB3?= =?utf-8?B?U0VkckRYWFo4MUQ2WUNkRGk5VE1wRldhWjdnWjJFVElrSEY1RGVtQ0RjNW52?= =?utf-8?B?dHJxSlg1MUF4aHVmL1BqdVluSFFaMDd0T0FVRGVpdU9yUG5CKzR3WC9odXdN?= =?utf-8?B?bkRwTWdGSE8zdDZuOGk2S05EOXg1SnAwcFk2VVVoalBWZjB0dFc0VlVyd1dE?= =?utf-8?B?UCtkbjVMUUpXaXoraVpLc3d5eEdCM2FPdjcwYm1yZFdRTUZwbU1EZWs0SVR0?= =?utf-8?B?cGtXTzA5QzA4ZG5CdDFXNmp4Vkw4T2ZIVW1LWllBZlkrS3JCN2VLQjFXWW1E?= =?utf-8?B?MG5jRUFTZGpNTTUvYmtHQ1BUTFlUK3FibjFPSTJrNG1sQzNpQjJ4VFhmbEFU?= =?utf-8?B?bU1rWXhPOUpQUlh3TGliaC92d2d6M3cxbnhRZVB2emkyeWd1czZaU1lreVZp?= =?utf-8?B?ZVhxMHQwK0dSNDAzWXQxb1YxOTFPZkpzM2x2QWJtU1Y4K1ErVmJ4UVZmdy9K?= =?utf-8?B?c2xpSUlTd1E0WWtHSVJCa2dXcEE2NW9MWVpUOXN0R3NOTVhkVk9ycFYzajNQ?= =?utf-8?B?MXJISjIwR3RrZWVaOVlFV0hKMWJubHRYcEpDU3VtNlkxNU9XNDk3MmtyV2Vw?= =?utf-8?B?Ym83Q0RNL2NtamUzejJsM2IweElPSmkrTHdmcXI1d0dzN0dQaE9LOTBFRHBv?= =?utf-8?B?UXpXcExuNUx3d0VnVy9Ib0g0TXVUNm9zcFVYRGNxK0x1QndaTWdRaTdrajBM?= =?utf-8?B?ZjhxaTlIQkk0TFpxQlVITGZ0OXBzTXJnMVI2SUZUYVJtRDhGa250bDRWSWV4?= =?utf-8?B?QlpyVWxQb015WjZPblZJRHNpOUViQmRKMTduNWV5dW9tV3AwY3BNaGl4RWwy?= =?utf-8?B?N2l2TFBxbVpRL1dobXQ5Sk9MWFNtS3BubVJZRG5JaVJLVTgrL3VtSGMzRXlp?= =?utf-8?B?S1JnZitIalNpSHkwTmZtZ0EyaFZaYjZYOFNrTjA2bXBGZi9iME1jZGRKdS9Q?= =?utf-8?B?cUs2cE9hVUU3QnQycEprL1NwZHVNTEI4WTBzUDhQdE9HZUFqYVJlY2J5T2k4?= =?utf-8?B?ZDNtOC9hYjJEcmR1MlpyNjB0dDNHQU93dFc1OUZpb000QmNxMGQxUmovZlpL?= =?utf-8?B?NU02aXRFSG0xQ1hBOU5iVWVsbEdqYTZIUm55K2I3enREVUU4Qk8rTHJFR3NZ?= =?utf-8?B?ZmxkNFlJY1ROczVFb1lobHJoLyt5WDVaeWFZdU1hN29wTEFaYXpaZjhpN2Jl?= =?utf-8?B?UjIvOThyQ3BqWWt4Q3kxRnIxcFVldFA0RHljMVFFU3NkQnVmQWRqR2sxTEg1?= =?utf-8?B?NnZ1TDdRcnozZnNoWStMSW1DK3JUV0JkK0w5bGt3SGFUbTV6UnNSVWpRZy9p?= =?utf-8?B?dEF0ai96VGlMVW50RHlpOVQxNTBlM29NVFgyQVNyUm9TNXRJTVpxbkEyL0NE?= =?utf-8?B?cmtyRzI1ejVhbGg2aVhQRXNDVysyNUZpS21kT3FOZGV1N21wTGFYWDlBSGMw?= =?utf-8?B?cDBzZFVoNEpidE9JTVlVR3ZPS2t0K0pVUTI4K1pqc0JHNkd2WXI4UlpiVUVF?= =?utf-8?B?TGFGQkIwek5PdjJQNFZWdEtEbFN0UlVDRjRvcUlGR25FV2NkWnVIV2dWZUpl?= =?utf-8?B?RlBpd3BTMG53TGorbU90TXZLL0FWbDZHNkN1RHh2aU11SGhhdStlVDNKa1lH?= =?utf-8?B?ZXJiK2FGdlBLV0RVazNnLzNYUEFLN1ZORkZTUWtEdUtmekQ2L09LL0hFSklh?= =?utf-8?B?WkloNC9MYWZDaS9yTWtEWDhXMUNVK1pHcDFHd1FVcUtWdzZITG1jWFREOVdq?= =?utf-8?B?WTNDMjFVNk9TUi9WL1JXVkpoWWxxcEIwOS9vYnJrR3Q3b2htRU1aN2ZJa3ht?= =?utf-8?B?c2h1ZG1JNk1jOFRkNDRCYlpIY3hwWjZhaldnWWZTZWtaSDZERjJ5K2FWZWMx?= =?utf-8?B?S3V1alVON0NScVE0MDU0OVhDRVd4Vmp2MGpBSjFjdmIyWmtldzhYa3YxK2Ix?= =?utf-8?B?a1BPaHFXaW84ZEdPbERVS0hlaGFPK1Yzd05uUTRlbWN1RngrcDhKeFFDOWg0?= =?utf-8?B?RElvNkZBbXRZV3o4VlluNC92dHhjVEEvUFpwKzA3azMxZDR5L2V3RTZwUU1K?= =?utf-8?B?V2JpUkNEZFRpOU9pYUprdnVITDVXK2pHaDllemdRdFF1V3hKZjZONk5mREdn?= =?utf-8?B?Qlk2MHdFOWtxWWpOME9rWGpxVFk4ZlBtUkJ3UDdnVDllZXdzTWVIZXh6dXpL?= =?utf-8?B?RG1WSXB2aDBhclVrTnA3dUNFdjc5V20rb2V1a1k3aUlXMk0zSFA5Zz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3fbf22fc-6e37-48de-5e58-08de539030bb X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:09.4411 (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: ATX0/mMWeApJNED9BfUJ/Fs08/wOy2HojMbZScM34c3tK5Dg407AlzonccJpHcBoWLNfRKZqrcREjAsCAntxAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Move struct dma_chan below struct dma_slave_config to prepare for adding common dma_slave_config field. No functional change. Signed-off-by: Frank Li --- include/linux/dmaengine.h | 120 +++++++++++++++++++++++-------------------= ---- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..01d3e44e3cb426d9ad085eda1bc= 562ca7d266cb0 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -316,66 +316,6 @@ struct dma_router { void (*route_free)(struct device *dev, void *route_data); }; =20 -/** - * struct dma_chan - devices supply DMA channels, clients use them - * @device: ptr to the dma device who supplies this channel, always !%NULL - * @slave: ptr to the device using this channel - * @cookie: last cookie value returned to client - * @completed_cookie: last completed cookie for this channel - * @chan_id: channel ID for sysfs - * @dev: class device for sysfs - * @name: backlink name for sysfs - * @dbg_client_name: slave name for debugfs in format: - * dev_name(requester's dev):channel name, for example: "2b00000.mcasp:tx" - * @device_node: used to add this to the device chan list - * @local: per-cpu pointer to a struct dma_chan_percpu - * @client_count: how many clients are using this channel - * @table_count: number of appearances in the mem-to-mem allocation table - * @router: pointer to the DMA router structure - * @route_data: channel specific data for the router - * @private: private data for certain client-channel associations - */ -struct dma_chan { - struct dma_device *device; - struct device *slave; - dma_cookie_t cookie; - dma_cookie_t completed_cookie; - - /* sysfs */ - int chan_id; - struct dma_chan_dev *dev; - const char *name; -#ifdef CONFIG_DEBUG_FS - char *dbg_client_name; -#endif - - struct list_head device_node; - struct dma_chan_percpu __percpu *local; - int client_count; - int table_count; - - /* DMA router */ - struct dma_router *router; - void *route_data; - - void *private; -}; - -/** - * struct dma_chan_dev - relate sysfs device node to backing channel device - * @chan: driver channel device - * @device: sysfs device - * @dev_id: parent dma_device dev_id - * @chan_dma_dev: The channel is using custom/different dma-mapping - * compared to the parent dma_device - */ -struct dma_chan_dev { - struct dma_chan *chan; - struct device device; - int dev_id; - bool chan_dma_dev; -}; - /** * enum dma_slave_buswidth - defines bus width of the DMA slave * device, source or target buses @@ -459,6 +399,66 @@ struct dma_slave_config { size_t peripheral_size; }; =20 +/** + * struct dma_chan - devices supply DMA channels, clients use them + * @device: ptr to the dma device who supplies this channel, always !%NULL + * @slave: ptr to the device using this channel + * @cookie: last cookie value returned to client + * @completed_cookie: last completed cookie for this channel + * @chan_id: channel ID for sysfs + * @dev: class device for sysfs + * @name: backlink name for sysfs + * @dbg_client_name: slave name for debugfs in format: + * dev_name(requester's dev):channel name, for example: "2b00000.mcas= p:tx" + * @device_node: used to add this to the device chan list + * @local: per-cpu pointer to a struct dma_chan_percpu + * @client_count: how many clients are using this channel + * @table_count: number of appearances in the mem-to-mem allocation table + * @router: pointer to the DMA router structure + * @route_data: channel specific data for the router + * @private: private data for certain client-channel associations + */ +struct dma_chan { + struct dma_device *device; + struct device *slave; + dma_cookie_t cookie; + dma_cookie_t completed_cookie; + + /* sysfs */ + int chan_id; + struct dma_chan_dev *dev; + const char *name; +#ifdef CONFIG_DEBUG_FS + char *dbg_client_name; +#endif + + struct list_head device_node; + struct dma_chan_percpu __percpu *local; + int client_count; + int table_count; + + /* DMA router */ + struct dma_router *router; + void *route_data; + + void *private; +}; + +/** + * struct dma_chan_dev - relate sysfs device node to backing channel device + * @chan: driver channel device + * @device: sysfs device + * @dev_id: parent dma_device dev_id + * @chan_dma_dev: The channel is using custom/different dma-mapping + * compared to the parent dma_device + */ +struct dma_chan_dev { + struct dma_chan *chan; + struct device device; + int dev_id; + bool chan_dma_dev; +}; + /** * enum dma_residue_granularity - Granularity of the reported transfer res= idue * @DMA_RESIDUE_GRANULARITY_DESCRIPTOR: Residue reporting is not support. = The --=20 2.34.1 From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 2CAD82E92BC; Wed, 14 Jan 2026 17:13:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410798; cv=fail; b=T5OXnpeaO5VM+S+cZdF85mZREmnnEDkbF9gME5//F+MGWuzwH3VyF6d3/OYRtXwMSsaTZG1tEr437hnk8hXH3C9hCRNnenw55bhPR5DGWhJKols4MX0kCi1MT3tic7KB6w+yQQVjkno2MyYWYdTalJ8+UHefakZ93eOnhIjyFG8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410798; c=relaxed/simple; bh=hMAlaRVk8vnmgiGbmSehyWTthIwT6qg1YJ4toITBOQs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=f4nLdcPBwrk69LjlfAeIGz0qsubK6qtYDeLyXJ5DNyCQF1j6pc/i5k8gegqq1SuYSQbLRf7wjs8OWW5f/Wg81n0yf5dqsp+fPtFEfRwzHVJdcz8hFNOyqjKYKpU5UAOCDHSgBfQl1N+tHo3umFAl8vL5Ld1Gkmm9pMBjWEYVm4o= 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=QqA0swzD; arc=fail smtp.client-ip=52.101.84.15 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="QqA0swzD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dk28dyftuijOxyHXtCulFsp6mrNE6KcjCa6KumTkVyA/YymBJnvagK78eVA+2yS+jtQ+5GKDlm2idqjXnqg1KpHOxZlT2BuIxrO+qivDUSdr3Mi/G+ROZx3arqhZ+Vx/HtG5kImTeeITWYGlXsUUT1qAREtgFIfvZ+vvSko/RRRaQTaTnZ2g8UQxa3vgxXlram0Bpcwv7epnwJ93kfe6W11HtNCnvkGq3K3tY0+sqs0t3I6pJkfDB8SqRLDmCG1mkq46U2ViQJ23VkMjgTA9ixLT6n9JWO8qe5gr2XfvgSjSDwOmIFR8onI/ASdUIda9Rk8FT7aR/Q6y6PWsIALv+A== 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=ZYNXI9Y37DMeYOKEPtwUglKZuwgSOMz2ZW7aYqqc4z8=; b=r8RYDsEm4XWFgOjmlYo5/1ytzvmMoLSGCineDShOtTjhyPjIpdCEk5NbXAUgxrfmBnkZi38xDmpUsmpS70zsVxC0OYELrFz9O2j84KY+3h3sIUVd9hvIfMLidv+hmArqts+70j3QSIWYgGtEiSb8Up1W7NTnsUcHejggj6B8CBMTCpgFkuuXmnOXc2ohHfb7qTTgiQK+phIeZmTf5QbM8PPyucYsRU3oMQbkNcZ1c4mVuKCdLlkof0OyX5oxI9JuICngKIlv1hRhAnZIazmAo2Wjwfh9rENFJsZQ1RuXbHnhAza0NVOzQFmZ/YQkrL49pmHBUpm0mnwGgRxGgA+ZFg== 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=ZYNXI9Y37DMeYOKEPtwUglKZuwgSOMz2ZW7aYqqc4z8=; b=QqA0swzDSFUuS4M64RgyKKs1mUzPDc2CeiXRzcyBGHV4GekCfDEqm+PifZJkJFs8ULR644tnYromYSA/+6t3JW0Y324bXfByKCgmGfiQnZu7Uz1+ZWTL6ezXFz53Xskqhd809XufkCaBlR04doJgOtq949SndHiAzvMo1VMwtYSsSoe+bPHcE2HWMMd+xOiQUmPl+iXVO1alnOvHr0NyvQ/gaVSboRXAwgLUtJOMv/pMaAGmZ3rPU/PKcycQCNYrzKsxRKmUetCj2DETN+qYJWYnmXn3epy5i7EKBQVLlKEveovk8QKtWBmiT0gNG/RpAYjqIPtrrrAwX17fY5saPQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:14 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:14 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:43 -0500 Subject: [PATCH 2/6] dmaengine: Add common slave configuration to dma_chan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-2-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=1043; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=hMAlaRVk8vnmgiGbmSehyWTthIwT6qg1YJ4toITBOQs=; b=JpQWuVu72hEzv9a/8ZYAFhDyb3Hvn1fHQGSFjRkJmqKr2MnO3p7AXk+NoBYumCZlU0cjE8WwS rzOy/fbL6UPAzyoR4o6FLUbp236uh0ZHgXdjiaenPLiRv04QGrUjKpy X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: 6044dec8-0319-4352-1f44-08de53903365 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eHBCWCtDOXo1TnNVUHVsMUlQZ21hNjRnVHkvNER3K3BjekI0R01TblZxczU0?= =?utf-8?B?N1JjVTRWekRBVEV1SXdtRityQVc3ZlJvWTgwNi9JdDhkMGJsRGNldWN2eFRJ?= =?utf-8?B?MEtyZHZnWXByNktKSjhBWHBHdStKUWdtak5BMEIwQ2p1YXJkSWVleFlZM0Jy?= =?utf-8?B?a2VpSUY3NHhnZlY0bmFpMWZRNW1UM2VkOTl5eG00dm1TbnJ3Yk1NbWVHRzVQ?= =?utf-8?B?cWd2K29uZWY3MFFwWjl6REtNaSttcVprWE1aS3B3Sm83UEMxYXVJS3o4VjVP?= =?utf-8?B?TVhDcVQ2bU5Kd0QwenhHbFQwVjNOVFdHWldZZlNHWC95eWpMTm83akxvWFdJ?= =?utf-8?B?ZjJHeGNUckJZZ2tGb0pSdU5JbnFoVmlzTktmYTRnZ3dLdlZQNGhPVHVOT2xi?= =?utf-8?B?VjRpcHc0T2YxdS9HS3pzNDdDeGlYK2R3RVRrZzhMNzA4czRzSW9OUThoRGkw?= =?utf-8?B?Y3h2aHB4UU1wcmh6ajUwbEF2SkRFRVcwbUdOVTRZMHFpbFp2MW00eGNRZ1N6?= =?utf-8?B?RGRDd3VaL1I5NzhCTzMxRnIwNDhXdVVWVFVtY05zbklGQnR1V2ZQWEMzYTkw?= =?utf-8?B?dXFEUm5yZWdkd0YwVmJvN25BYjRjK2ZObDhoTEhJRDJINDVFam1RYUVZTnlJ?= =?utf-8?B?Nm5LWjdMNGJNUXpQWG4wRmVQYzVFOHBOSmZIdXExQ29CS0JJZ0hFaWUxZGNJ?= =?utf-8?B?Q0JVbGp3TnFHT2g4VlJhQ0o2Qy9BYlNMWFhzaDBCK2trTFBvcWFmVGpROWla?= =?utf-8?B?cWhpYUlMZjZIR1U2REVRdUhycDRGUVZTNS9EaTJWQlVraU9MQnBVMWpzTWFp?= =?utf-8?B?V0crWWR0TXNNR1M0d2RMWHArdXR6QjVNdXJFTVl0bFBmWHcwUVFCOEhNYWlk?= =?utf-8?B?YXYvSkQyaUMwU3hoQjhUOWRISE5rM2JPcDRzYkpYZVRKRk1JQUdOVGRhd2xa?= =?utf-8?B?NkNQUzBIb3BaaVBqTHRQbHV5a3Y0eEVOUVU2S25HbU5nK0NHRzhKMVdtdXcz?= =?utf-8?B?TmlOQUdJd1ByUlBRRUdyZWxaVUFjR3I0MXdkV2ZiUXVsSzZicm9NTUhNQ3Ar?= =?utf-8?B?MlBzSjhZOUF1MFFrTXFOMVd5M1EzRzdVTFZHUkkwcjV1dmQ3TXJTZCtPRFNG?= =?utf-8?B?MCtyUUp4L3BwT282YlhqSVdXRzNUalY1dDFiK1U5d055S3g5ZGRST0FOZDhl?= =?utf-8?B?WGdxNE1RWWFVN2VxV2g3dGNlQm5QbFJKZHpBSlM0YTV1bzh1WU5ZUUFiakhi?= =?utf-8?B?dmRYNHRHa1NMRkc0Wk1BVXo4OTRnckl4Q2hJejRUMzBvSmJhL2ZyM1pnZE1S?= =?utf-8?B?QzNsdVk3U1loMEFvVCtwL29rVy9rSjA0em04VmE4NFZnTS9QR3k3NW96TDhv?= =?utf-8?B?MGR4alQ2QXpBUmdCWGRxNlEyTzJzTDdzbnVadDNHWlg3L2R3ZGdZVXl4Y0hr?= =?utf-8?B?L3FUc0RsbmNHNXpUQms2NWxDWXI0UHhnZHlGY2tUb0xMcjdCQWFISys2RGMy?= =?utf-8?B?RnRZU2xyQ3pFWjJRUzEzWFpLZE03Z213SDRueEd2Q29DMGNJdFYvRXdWd09H?= =?utf-8?B?ZGdGUkVpWHdYSkg3SmdUTjZ6YmxZSnlEaHVEZVlLL3FoNXc3MW5TbWlLelBy?= =?utf-8?B?aXpYWFRDcFJ5Z3NEdHNBNWVqdzNYVWNtR1BQdnVIWU1jSnFtOTdCOEwxZkox?= =?utf-8?B?RHM3Z2k5MFFBT1JoVml0VGFWZ1lWWlZTa2ROSVoyTTVURGJoWkJIVGU0ckx0?= =?utf-8?B?US9OYkxvSWFoUnlYY1FtVjBSUGluUjk3ZFQvVU1OczR3QWxuMmtHT1dmQ2R1?= =?utf-8?B?a3RaZWNac2RyMzhXdGpBN3JiM0ZHVWkveVhiSk1HckRuUzE5bTdLWk1hZHlF?= =?utf-8?B?SXp3WUdFNTFSYmNZU0xudThHdXAzM0gwcWdDcTlCTm1MZEZMaGIwTitPUDR6?= =?utf-8?B?cVV5eWo5V0dQeTNFbEFaRExlK3FpaFJneG9adldwTDJ5QmdrRndqRXRQTHA0?= =?utf-8?B?NWs0N3VMNG1CUmFFS25qK0lONkpOc2xTVDZwSDhLRWg5RGdOdWpFNDBvSGZo?= =?utf-8?B?TnlwR2UzVTdITzRSRDgxZm85MytGdWRVY2c4RWpiaUYwQVlBWG1vWWJXZjJ2?= =?utf-8?B?b3RKWFFzcWIvTkdkREMvdUc3L1l4c3JuNnQ4OFQ0WUp5SnpZWkV3blMzYTFX?= =?utf-8?Q?PWvvYW2XU7qfE3nL9Vxy2kY=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eld5YTdNZy80aTJ3MEFhcEFaTEQyNzFCV2toMk1iWWhkZVp5UXV6TFdOU3Ns?= =?utf-8?B?QW0zYVJmaFpuNjluUCtMeWVKTEtrQlRLZ2R4VlZIcXR0ZHhNV1k3Sy80aXBE?= =?utf-8?B?bXplUWR0WDFpZWVsbmJWbjNVNHpFOWhOTVhGYzNtT3VGalFISlptNUpsa0pw?= =?utf-8?B?R2twakt0dWJhZ1ZFelR2cTUxSTlQSElsQjhhMTBqREpvNDRpaGc2MUxKNllL?= =?utf-8?B?MVREeWtqNHpvY1k2ZUFESE9FR0t6WGFDY2VlQW95TDNxWTR0c0F0V2YxSFJU?= =?utf-8?B?OFVnVXk0T0U2U0tncGFSM3BIODc2UzlIejNveVpGMERhTGlwTlF4SFk4elE0?= =?utf-8?B?SnB0K09zVHN6WkpLTWFoV3BTL1JNbWtqVEdqUml5QzhNTEdaV1hIaGRuMmYx?= =?utf-8?B?ajZTaFJWN01UM1d0dUtDRnM3S2o1aSt2Nnp6cXhHTjVnZ2hoT3cxQWFweEo4?= =?utf-8?B?WDZjNU03NmJzNlBWdlE0RnZCeGNLVUtxcnVERHA0U2FPblNVNFFKWU9PdmdT?= =?utf-8?B?YnZwQUtRWHprSmJjaEpKN0QwZlBSaHpJWkJPSEpDMkZJRDMvZFJLeC9Jdk9v?= =?utf-8?B?NGMxV0FLbHg5TjFkYmJjNS9qRFlkcC9IR2w5b3BsU3E1RVZNZjh5VUFBTnEx?= =?utf-8?B?UCtRWU5WN0dpeks1Ukh2VGZCU2tqdU1PNVJ1N0xXQzFJRTh1QkxQL3U2VnRt?= =?utf-8?B?WmhoeDlhUXpsaUtQK2JlZTd5VWZpSFlFcUxBZXpLT3N6RHljVWNWeHJVdlNG?= =?utf-8?B?dnhQY05jYnVCN2lrTStwanFRWitiV1MrUGYyK3hDamVkWmt1aWV0N2lMYkZO?= =?utf-8?B?SEFmVVdGdkVkYmE1TkM3dlhXVmdUdTEzNnRqTkJ4YjJyU3BlRHhsVDRudnQx?= =?utf-8?B?cTJzeHB5SkJPcFBSdEh4V2NocHV5S2ZzWWYvTFJFNDJ1ZmFiZlVnRVpBMHNK?= =?utf-8?B?S0syVXgxZWVjU0NGOEJuMlpjazhDVEpBd0ZjV0VxanloV3pOU05vT2szYjhw?= =?utf-8?B?RFRqc0Rnamw4ZXV4blpiRVo3SEVJclczNld4RkNqeWtGWlpid1UyaG1zOWVi?= =?utf-8?B?dEY3aldVSkcvaCt4N1gybU91alpINzRjVUt1dXBtK0JvODhjT21VVnJZMFU4?= =?utf-8?B?Tys4ZXpGYlF3ZmlrRk5NV242dTllcW9ZZDBBYmtpUmdxSEtTN09ReFo3TFA2?= =?utf-8?B?OXh4VENuNDc2djQreVp5eWkzMDNJZzhHMHFFVWh5d1hrV25wMGRneDE0di82?= =?utf-8?B?NVFTV1I2VUY3Zk4wVksyNkUybmltRlNUdXFDNE5LaDZTaC9oandxYkRSTnZz?= =?utf-8?B?L1ZxQmZ4enZKQzR3YW5iRmZ3ZFl3bWlzQkRkMHRNQThMU2xNR3FrUzloeEZw?= =?utf-8?B?VUZTSlNsRCtGT21VeWdVd3ZSNzdvZzVFUGJFWHNod2Y1R28zZFQxNlE1aDBT?= =?utf-8?B?ZmhlWjdLVG9BYU1LM2lRSldYUHhZZzQzYXZ1TUhxV1pmV3pGczV0QlJRRDFO?= =?utf-8?B?anZPTHFSeFZpOVYySjQ2ZmYwQnhVK20ramxZamIzZTdnZWRkWnM1b1VZRnZP?= =?utf-8?B?bm9weVVTNFJVdEFyVnBjUmpGbDRJM2s2a2ZDZVR1dEdXanpVQjVEZGViUE1H?= =?utf-8?B?VHBDNnZ4OVdycU92SzUxa1BPZ3lDckw1dmx3T2Q0eDYwTDJlQzlXMU5MZHJG?= =?utf-8?B?MXc4end0THlLV01WQVRXdzJ6UGgrWmtOdDF3b0dGQUtiYkgzWEFQRzFpQlJL?= =?utf-8?B?bTZ5ekpNTGxuU1ZlUmsyb25nRnUzUWY2T2hCU2wvRzNWdjY2RlhJOVZFWE5q?= =?utf-8?B?TnpQWVBMS0d2SmtGVzlWSDlGRWowd3JRODlHK3pCaUxzMXp2N28ydVBYOXFI?= =?utf-8?B?UVN6T0tlaTNGVFNCVTEySTIzUUQ4Qmt3SUxNZ1dCa2FQV0F1RHZvLzNKanNa?= =?utf-8?B?aFF1RjN4NFEvUExOS1Q4U1kvNlk0TjdqcWMvZlVVdWh6TzZDUStDM0NWQjZH?= =?utf-8?B?NEI5Q0hBa1dQS0lScUVJSmJLMWdyaEhEaVJrWVlUcmN4VmVUc1lVbStOTjIy?= =?utf-8?B?UEdkcWRtdllQK081eWxyYVgzNFpmZUJQVElKUEFvRzkzQjNiRFZsNE9WZlVo?= =?utf-8?B?cG1WODYvdTgxZVBZSjAzZ3ljSW5YK1hodDdhd3FYUVRSU1AxUVIzYldjaDBD?= =?utf-8?B?WnZ1eEdOZjI3dlVxWHdld0tyMmJGcGY5OGxDcUt1Vk4rYy9NNURzenppWGJv?= =?utf-8?B?d3ZCS2pyd05EUGw3Tnh2cGVySldEM0lkOXBINWJNbjFQWk5Gc3NVOEhYVGM5?= =?utf-8?B?dTA2Z0VaRTFBN04yRis1K1EyU3ZramdHSFNCdHE4a0h1ZHNyMXI4Zz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6044dec8-0319-4352-1f44-08de53903365 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:14.1272 (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: 9v44tH59OkM+EcQEh0EJCAui7aQV8r/7anyCATvLNojUbrmL4zJJMU4tq/5mKFPnBe2RYEp6KH5BtHo/WS1vww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Add a common slave configuration 'config' to struct dma_chan to avoid duplicating configuration data in each driver. Store the configuration when dmaengine_slave_config() is called. Signed-off-by: Frank Li --- include/linux/dmaengine.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 01d3e44e3cb426d9ad085eda1bc562ca7d266cb0..362a43c3e36e232b5a65ff78ba0= b692c0401e50c 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -432,6 +432,8 @@ struct dma_chan { char *dbg_client_name; #endif =20 + struct dma_slave_config config; + struct list_head device_node; struct dma_chan_percpu __percpu *local; int client_count; @@ -962,6 +964,8 @@ struct dma_device { static inline int dmaengine_slave_config(struct dma_chan *chan, struct dma_slave_config *config) { + chan->config =3D *config; + if (chan->device->device_config) return chan->device->device_config(chan, config); =20 --=20 2.34.1 From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 B65E82E2DD2; Wed, 14 Jan 2026 17:13:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410805; cv=fail; b=sZRWADoXomhl9w/mv3tSor8BD+C/ZPbDa8OJA5RZ5n/mvm5GsV0EefX9M7kX7+lIt7eg7Q/qBpYc0tZ6PbA2JL726IK5rVn5Jb3c6UKyvxEHVkwlBFl13CFaUT+XHlLjyTyxk5EQqM+BnXgXpmKxZkTWDsNvgr3U7yRbwB9Dzv4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410805; c=relaxed/simple; bh=632XUWGOMYOZiLtLoJ3EwiWd0NqZLl5JxC/BoS6qPmQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=KpHYJ+bPurJTfXVRome9Buo61/K2M44oBsl/vPIYHD/hiHuugTsyvsifUMWB8K2gL8A7g00ha7RT3CPh+G0oADQY3EN4D1ktHO/6acFlQ7DeIBQFciItXxpFIgDOPyCabJJRJu2XUrbOsEwznxj3BjYyB6URCo5qhNMV2dg5C1M= 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=X4vsuDLa; arc=fail smtp.client-ip=52.101.84.15 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="X4vsuDLa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NEOXyJdG6kb0clj9CwKqxxCp1uYmS4tHMHwpPOO+7m2+oxaR3PR6FV2J6r7wKVG+q97V5rPp4FPn0tV6haWvNtVSKlON0zI6O3uzr1oMv4/VGQ/V3EwVJkAUrYP0KAG2XwGW8CN0pLQaM4E/LfWPdWXpztPeV7Np77ZZxsNrkiY9Mdi/yd+8Ur8yFiEcxCrepq7LxfaMijEu9O7ZtWIXZ/ntI1ULRvrczqhIHXxWpBzi8x7jfuQupJB9mfGCeqoXD9+sduKszkTo0IKdjcQNWUwFctY6vKxjjmQZkPKwukpGn3GjvQ046eumLCafHs104maZ8WWkZXTfXIjDpFcujw== 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=QQ1ujzgSUcvpZRHStJKmZ+yqoNmE2Qe84+8c6goXUP8=; b=e3JjWbZ7XnojKl7cBtTI2N6bCCS7/jgEn+TVqrnmJECdPfq/m0XUGICqCmu3JBB4F4mzDH/dBpDNjJxaeUEMEQhT9b0YszwhgUDNCH4JWWm9/nAxwxO4o6UncvSVuxxMloGGH1OURGV6Gp30i/aF9nmMHQvLmlNKA0YRbWqGCENJxwicoKG7oFkQkA7tagfX6/ibWfs3C4IFOXT6z2U66MfobGkQU4dibZ+V9IzaBzWjRWyf2XfFNiLi3MRXY0bu6n3lsZQHFMu0iRwvJsqu+BgiAkkaKsW73MiuzqjoI8eN5gi7qvJFVvSlTuEWn50e3pt2d/JBJyG2h8wsjkNSnA== 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=QQ1ujzgSUcvpZRHStJKmZ+yqoNmE2Qe84+8c6goXUP8=; b=X4vsuDLas77OuA646jOK+d56bBnNBvRz+mB0BYai1Au93T2ZhNkET3n4+CK0J+dw77IiMXJx8cgstgmqYxVZp8Ao/aD0ZwOaF5vLUXLEiuLqddg0Ld4pNVrzjAVUN0hyP2zKPyJ/yUi6BpKpEYZ6Bo+xHXZbWtihEd37QONcT5l2VmNIq9MHW3FrKsY0dtgkRoOFW8xPwHUIouhJnx9wRK2BIbCEc93C5q3jkXNRjfywp+M9HTAYDJCp7odnZpvi8KK57/QZNW10qlKIF7s+M4UsKq2Z92XOzzU7uM9oUJXAywEqsmrIBPB98dQ2xq5lGDOsGpA64IghDs6jkZr+xw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:17 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:17 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:44 -0500 Subject: [PATCH 3/6] dmaengine: fsl-edma: use dma_chan common config Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-3-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=7815; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=632XUWGOMYOZiLtLoJ3EwiWd0NqZLl5JxC/BoS6qPmQ=; b=nqrn8+IC1s7cFKbIEzrZkBSnQT/h/Ixv/Rkeh4kG9JZXwV4FywBhkvzWGDiIGrW3rbTptrjv0 m2EaFafDlD+Dz+8tuUwPrNP6G2sw15RurJTK0FltMckr+tGrN0qEhQ9 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: c9825d5a-de1a-4b89-ecf1-08de5390359b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QUxZMlE4NUpteFZocDNVV1JFNlFMSThCY2krbWdOenBJQjhLTlZ1NTBleXJx?= =?utf-8?B?NnhMZ3hSZ3dNSWZCRzJ5NVc4WSt2ZmZZNit4YVRqL1NoVnNsSE14aWttZ1hr?= =?utf-8?B?Zy9YdkRHV05VQ1VRb3FZOFpEaytFSTRTSVB0OXhrZ21PeENUbEVOcFFFZWo4?= =?utf-8?B?a1hycDdBenNuSlAwczhrQXpxREdFWG80K08wODRKT0d6UnNwK3NycUk3QzZN?= =?utf-8?B?TStUQkhXdWIvMnpRcjdycGd3S3JWbDhyZVlHSWZoRks5cGhLNGdDVlNEZVZZ?= =?utf-8?B?UHBFVUhoY1M5TE1VVWpjd2FFOTVpZHA2TXJUMVh6WDQybmhORUgyR051bjND?= =?utf-8?B?aSttN05xbU11ZDBDYXRqcXArM2Z2akdsRHpjNkljUkpsUGdtdGJPTU5EUFcw?= =?utf-8?B?dmM0VmhUN2d6cjdxd3J6NEo5eFoyUExiTEZnZkpITW1YWjJwMDdZVDNOVkVm?= =?utf-8?B?dFp0T0hkMGhJVU04Um1MUWNrS2dEYklLODBzOE1qQnNyMVpNSGh1K3F5VFNY?= =?utf-8?B?S3VwV3gvUGZGTWNQSW9sU29RTWVOUHMxY0dCOFNNWmNHVlIvUm9ObTRIR1kz?= =?utf-8?B?dnVNQTZwOVZheWFYOWNNM0Ezb1lNVFNhQUdQYlptV3JhWTZLQ1BxeHlibUtL?= =?utf-8?B?eXJwRHlybHpyMGNhRU5hUENXdWxacW5naEdKdEpqZk90aHJzNTUzdExIdDJw?= =?utf-8?B?aHoxR2FzblFhY1hYWnI4aUt6RENqKzcweU1ocTBIcFdzakNFQWcrUHNhS1R0?= =?utf-8?B?ek90MnV6Q3FaY25ZR0FRaFJlUzQ2ckNLUHl4YVJiZzVkUytRb29ncFk2L0xs?= =?utf-8?B?cUxvT01zbnIydWZFT3RzTThmTng0akhyblBHMElERWw2WVplbERBcUFNbmFM?= =?utf-8?B?UnRnaUl4NERBUC9GVE9oYXBCbjRodjJIQzV6RG0rWDc4OUxQKytsdGxlVWFX?= =?utf-8?B?aUQ4aUNId2JEaGxpSWFZczlmUG05cXhnRjRtckUzd09KN2REQzYxWm1XZnov?= =?utf-8?B?NVpITk5qMEpyV2Qwb1poa3BNclZSOGVDaTB1TWdQcnYwZTV4bnJpQXFBL043?= =?utf-8?B?VytlOExGRmlHZHUwRXk0UUdEd3BKKzAxSWFpdWN1SGxoNENHNXM0a2NsT2dz?= =?utf-8?B?bXUyQmsyYWdlUlFPd2RPOFZPS0dqQkE4WmM1cVJHNEhRZ1VETVZIcTdsMVpI?= =?utf-8?B?K1BFelRkalFZSlk3MlF0cC9OL2xrT0M0cE1ld3M1c2o3OGRhaVFqZHNCcWdl?= =?utf-8?B?dURiaTFvSDZjUGVWVGZ1OTJSazJCSWROWis5ZWp4VzJENHFQM1VhU0RiS1NZ?= =?utf-8?B?NW9lM2s2YnBWbkdWOWhoZVYxZXNROGpBNHNKVkJhUFl0REYraXcvek8yVWlk?= =?utf-8?B?VFNmSE9YdHgvQm0vZHd4U0U0L3puRTVyckpEakk4a1E3R3daaG42RkZXZ1da?= =?utf-8?B?YnR3N0U0OHVWb2ZVSGk0YjZDL0gvSjVTZ0VKMHZnUDNialM5amhibFJKdGVq?= =?utf-8?B?amtmRGlsRFlTakFwUWxEek9aUjU4Z1BERHhlU3YwM2FrNEJEbU9hQjJjQjRU?= =?utf-8?B?SDlZVmdWeUtUK0g3Z3loOFdWSTlobHdiUUNqV1hKQXpTa1Y5S1JrQXNiblZq?= =?utf-8?B?cEFOcVdhRVZrb3IzS0RGUXRHeHNhRUxyTmFZTUpjMmZld0FZUXNaWDh0L29N?= =?utf-8?B?MUlMZlc3cEFSSFRCakMxSkNDd0FoS2VNUUJPZXhuVG1KUG1DYy83SEFETkpM?= =?utf-8?B?QU5jTmN1dGVHU0dPVE9Gd3QwcXptUWRkR3dZb1U2TTE2TTJtTmhOWWdoQnlM?= =?utf-8?B?RVhYVE13MDNTN25WaEp1Z1BjQzJ5TERRaVZneU1BUk9ZNTNmNXMyN011VGo1?= =?utf-8?B?RVVJUmJxQjJwNEVxRUNOSEVRM3B2MVNYUDFWWUZMaWhBcVZ2RDkwd2xCN044?= =?utf-8?B?WWdZQ3h3MnNabmEvS25yWnptYmQ0aU1jNGRwUENCcmFOTGpNTmNoYU5zS2NF?= =?utf-8?B?Z2NSN3ZiOTd5UFVSSkdpZkpPZ1o5WDlKTUdoNmZ5alBTSWdnMzVJMVlJUTB3?= =?utf-8?B?ZHFVcVJhTWovTHBzc3dSL3QxMmJVeWlCc1pFQzgraDRybUI4M2ZzTERvNGdI?= =?utf-8?B?bE4vOUNjdFZXZzVMVGtGdzB5enl0NzdKNk9UTU9hVnY3VzlxK0VlVVpmWksw?= =?utf-8?Q?wUquhRL5qxKBYs4HgM6Bv9g=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eVo0bWl4VW0yRi9WVWx3anhsQjF2YlZUTVNKa3NtcTFSQXl2MERyUStwQXk1?= =?utf-8?B?TU1acHF6d0JrNzJlTWhPNjVqZGQ4OHVaWC9FSmtZTFYxSE5TZnZrQWxabzBL?= =?utf-8?B?dEFZK29PS296K0RlOHhQWTZneHRhSXoxRndOYjQ1T0c2TDkyQlFOeENDa3hN?= =?utf-8?B?QnFlSGx0bDI0N0diZkpaMngwcFBNWUlhbEs2UlAxSlV1ZE54SkY4eVBXSG1r?= =?utf-8?B?NnQ1L0tTUlFXSkgwSGtncmZQNm05UHp4anAycU1zVHVnNnhlUmI2akpmMlhj?= =?utf-8?B?QjNFbDdzQWJMRVA0b0JkZHZUbndudHo5NEpIekRKOFI0cEFRL2dNVkY0eDVm?= =?utf-8?B?UWtreXlvMFgrODJKeFYzZ2taMmxPc2pTN0ZlaGRqYkhUUXBJYnMrYzBOczFo?= =?utf-8?B?VGxibkJyWWd4aDdNUVNDWXJzL3JWaWduNUN5ZWg0TDM5UVRUbmZMSkxmbENK?= =?utf-8?B?d0plREpTdDdoSEhVRlM3UC8rU1B0L0dqQStUOUhFZWNUaTlSdU1iTmFUSzhF?= =?utf-8?B?YW94RUswTjdYVkJSWmRvQ2cvaDhlNWJvM3NRTXZHWE8vMHBWMXVCR2o1ajhh?= =?utf-8?B?TGZaaXJleGNRVzUzaUlMelVEV1lUYTBzc2MycVpFY2EyQlRXbGZ3ei9BR1FR?= =?utf-8?B?cnQraGc2aDFoOWxvUzhkR1NSZWtuckMyb3IzM3FOdWRsajRwZHk3OTJyTXhZ?= =?utf-8?B?b1AwNHNlREltc2luL25tWERIYXIxZHM3K0JHVFJVUnM3OExHejRmeFF3ejRP?= =?utf-8?B?SHRCOXphV3l5aXZxRTR6eUJsR3YzQWtmS01QS1dBb2pLOUtpVzJDNkliRXQv?= =?utf-8?B?N3A5OURHYnJCeXNJSDR4eU1VWHBuWHovWlV5c1kxdHUzQ1p1N3ZWTlNXdHg1?= =?utf-8?B?bDlmSWZ0T3BBNjNIOFlpa3pyOWxlMEIrUkg5WU1XeERyNUhKejdrbXZNYThi?= =?utf-8?B?SHMzWTREUnV4YzB2VzhOS3FsbTBlTDJWUWtNU3BVRENYSlZkUkVieE81WXo2?= =?utf-8?B?dEk4NHE3SUtHVjMyZURKWGxMakFNSktnRHFQQzB1Tk1OM2J6NHRwTmhZUnRs?= =?utf-8?B?Qy8xY1l5WDY1dDUwR0VNaEMrYng2Z08rNkt3U04wdGF6NWRvODNqYWQwdTRY?= =?utf-8?B?cXp1WmJrS3dqSkt4YjgyQmlEbVl1RUdObUlRaDJTRzhjMzd3KzRoeHNVNEVF?= =?utf-8?B?eXpvNUhtd2VlblEyc25BWVF6YTlNaTI1NUFiSGh2M3YvczhGT2NvdjJBTEZn?= =?utf-8?B?NkxoUVdHY20zK0dxOGZlbnNNelhBUnY1OElGZGdPR2lUS0U1Um9XbkRSNXRh?= =?utf-8?B?M3Jhdmp6R20zRzN4T0JsVDlpV3RjY0ZWc1VQUHhHbWhydWxXVVlQelB3UEE1?= =?utf-8?B?eFdRZ0UzVXdmS00xbi9JZ0pKbG1qZVQ4RStPeDhQU1l5UjVNYkVVUFdCS1gy?= =?utf-8?B?c0tnaFlLRGVMWjR6dWtROVdLZGFKNGNqSzExYmxza0xzdkVlTC84YkZWcVEw?= =?utf-8?B?TTYwL21jdG5GZ0lrT1UvS1c0bVRPektqTWVnY2lTT1lkQjJ5ZlIyMmJWd29a?= =?utf-8?B?QjgvOE4ybDlwQ1hZaHRBZlVQN3hwdE5la3R2bXo4NDc5Ni9sTmZ5S3dkU2Nt?= =?utf-8?B?U0NscXZCYTFuK2dVL1Q3WVJsRFVUVzk1a3ZBMm8xbmVqbzRGUlBDdzBicGVJ?= =?utf-8?B?bTRHVlV3WHI3RmE1UHhvK1Jrdm9YVG54MU8xeWh5a004bFBYazJmVDBzejRV?= =?utf-8?B?V2RFOWNMVDNubUQ4SFU4Q0RBa3JjbjFsL29FaEZzLzY1VjVDL1BWcEtITjlQ?= =?utf-8?B?Rm1neXhTRHdQRm1LdlBDeXZYajRXbGlXandIdFVlSy9CV0Z2OG9mbnpjWUJm?= =?utf-8?B?TFQyL3UvRE1KMHJid0d2NG84VCtkaDc2UlZUdVc4UlJXdCtIdjhWQ3RLelEz?= =?utf-8?B?T3lIL2FYWGNCSGU0QjJmWlhGcUd3Yi9pUi9TTDR0NUN6ek9ncGZReU5KZ2hu?= =?utf-8?B?LzBSZ1hkVlpSdEdkcERER1RvT1o5L1Y4WnNlajl6eDk5N1BOVWQ3RENZa3hl?= =?utf-8?B?M1JxbGV3cDdLUUpXdDJqM1c3aFg1QklmNlNPYlo4TS93cUFmeXJwbW1VSlFn?= =?utf-8?B?dW5zV0xSdm1Vd3pORHRxMmRCdEJucFVnd2VhNE1yVjFTUE5MSzE2YWlIVy9F?= =?utf-8?B?ZUQveTM2TDZUbEVkR21zUFlIQy9mU1RMTjVFMDJrR3A0SG9mbWRuRUhFajJj?= =?utf-8?B?TnJmbFMzNkxSYlNWQ1hUOGNRdDJNSDJrNFNFc1p6MFQzOVMwU2lWZUJRZy9h?= =?utf-8?B?c3Q5STRiTTlyQUZHdU1BcEV3UlVCVkVsS1hyN2pRTDlGVkdBcnJtQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9825d5a-de1a-4b89-ecf1-08de5390359b X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:17.4109 (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: 8jEIyxM1F5d7MRbkF3nQHmS2I+FSLjuAFMkpN3tVO5f1JbLHKiSdyfgmrfJjqdsC7bmwWdh8TTYKwxYB8Tfmpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Use common config in dma_chan. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 88 +++++++++++++++++++++------------------= ---- drivers/dma/fsl-edma-common.h | 1 - 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index a592127580299681304b222d8cb383535dbcc10f..33fc4fa8d1302d899ce550b0ce5= d4325fa2e3916 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -294,6 +294,7 @@ static void fsl_edma_unprep_slave_dma(struct fsl_edma_c= han *fsl_chan) static bool fsl_edma_prep_slave_dma(struct fsl_edma_chan *fsl_chan, enum dma_transfer_direction dir) { + struct dma_slave_config *cfg =3D &fsl_chan->vchan.chan.config; struct device *dev =3D fsl_chan->vchan.chan.device->dev; enum dma_data_direction dma_dir; phys_addr_t addr =3D 0; @@ -302,13 +303,13 @@ static bool fsl_edma_prep_slave_dma(struct fsl_edma_c= han *fsl_chan, switch (dir) { case DMA_MEM_TO_DEV: dma_dir =3D DMA_FROM_DEVICE; - addr =3D fsl_chan->cfg.dst_addr; - size =3D fsl_chan->cfg.dst_maxburst; + addr =3D cfg->dst_addr; + size =3D cfg->dst_maxburst; break; case DMA_DEV_TO_MEM: dma_dir =3D DMA_TO_DEVICE; - addr =3D fsl_chan->cfg.src_addr; - size =3D fsl_chan->cfg.src_maxburst; + addr =3D cfg->src_addr; + size =3D cfg->src_maxburst; break; default: dma_dir =3D DMA_NONE; @@ -335,7 +336,6 @@ int fsl_edma_slave_config(struct dma_chan *chan, { struct fsl_edma_chan *fsl_chan =3D to_fsl_edma_chan(chan); =20 - memcpy(&fsl_chan->cfg, cfg, sizeof(*cfg)); fsl_edma_unprep_slave_dma(fsl_chan); =20 return 0; @@ -483,7 +483,7 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, u16 biter, u16 doff, dma_addr_t dlast_sga, bool major_int, bool disable_req, bool enable_sg) { - struct dma_slave_config *cfg =3D &fsl_chan->cfg; + struct dma_slave_config *cfg =3D &fsl_chan->vchan.chan.config; u32 burst =3D 0; u16 csr =3D 0; =20 @@ -593,6 +593,7 @@ struct dma_async_tx_descriptor *fsl_edma_prep_dma_cycli= c( unsigned long flags) { struct fsl_edma_chan *fsl_chan =3D to_fsl_edma_chan(chan); + struct dma_slave_config *cfg =3D &chan->config; struct fsl_edma_desc *fsl_desc; dma_addr_t dma_buf_next; bool major_int =3D true; @@ -616,21 +617,19 @@ struct dma_async_tx_descriptor *fsl_edma_prep_dma_cyc= lic( =20 dma_buf_next =3D dma_addr; if (direction =3D=3D DMA_MEM_TO_DEV) { - if (!fsl_chan->cfg.src_addr_width) - fsl_chan->cfg.src_addr_width =3D fsl_chan->cfg.dst_addr_width; + if (!cfg->src_addr_width) + cfg->src_addr_width =3D cfg->dst_addr_width; fsl_chan->attr =3D - fsl_edma_get_tcd_attr(fsl_chan->cfg.src_addr_width, - fsl_chan->cfg.dst_addr_width); - nbytes =3D fsl_chan->cfg.dst_addr_width * - fsl_chan->cfg.dst_maxburst; + fsl_edma_get_tcd_attr(cfg->src_addr_width, + cfg->dst_addr_width); + nbytes =3D cfg->dst_addr_width * cfg->dst_maxburst; } else { - if (!fsl_chan->cfg.dst_addr_width) - fsl_chan->cfg.dst_addr_width =3D fsl_chan->cfg.src_addr_width; + if (!cfg->dst_addr_width) + cfg->dst_addr_width =3D cfg->src_addr_width; fsl_chan->attr =3D - fsl_edma_get_tcd_attr(fsl_chan->cfg.src_addr_width, - fsl_chan->cfg.dst_addr_width); - nbytes =3D fsl_chan->cfg.src_addr_width * - fsl_chan->cfg.src_maxburst; + fsl_edma_get_tcd_attr(cfg->src_addr_width, + cfg->dst_addr_width); + nbytes =3D cfg->src_addr_width * cfg->src_maxburst; } =20 iter =3D period_len / nbytes; @@ -645,21 +644,21 @@ struct dma_async_tx_descriptor *fsl_edma_prep_dma_cyc= lic( if (direction =3D=3D DMA_MEM_TO_DEV) { src_addr =3D dma_buf_next; dst_addr =3D fsl_chan->dma_dev_addr; - soff =3D fsl_chan->cfg.dst_addr_width; + soff =3D cfg->dst_addr_width; doff =3D fsl_chan->is_multi_fifo ? 4 : 0; - if (fsl_chan->cfg.dst_port_window_size) - doff =3D fsl_chan->cfg.dst_addr_width; + if (cfg->dst_port_window_size) + doff =3D cfg->dst_addr_width; } else if (direction =3D=3D DMA_DEV_TO_MEM) { src_addr =3D fsl_chan->dma_dev_addr; dst_addr =3D dma_buf_next; soff =3D fsl_chan->is_multi_fifo ? 4 : 0; - doff =3D fsl_chan->cfg.src_addr_width; - if (fsl_chan->cfg.src_port_window_size) - soff =3D fsl_chan->cfg.src_addr_width; + doff =3D cfg->src_addr_width; + if (cfg->src_port_window_size) + soff =3D cfg->src_addr_width; } else { /* DMA_DEV_TO_DEV */ - src_addr =3D fsl_chan->cfg.src_addr; - dst_addr =3D fsl_chan->cfg.dst_addr; + src_addr =3D cfg->src_addr; + dst_addr =3D cfg->dst_addr; soff =3D doff =3D 0; major_int =3D false; } @@ -679,6 +678,7 @@ struct dma_async_tx_descriptor *fsl_edma_prep_slave_sg( unsigned long flags, void *context) { struct fsl_edma_chan *fsl_chan =3D to_fsl_edma_chan(chan); + struct dma_slave_config *cfg =3D &chan->config; struct fsl_edma_desc *fsl_desc; struct scatterlist *sg; dma_addr_t src_addr, dst_addr, last_sg; @@ -699,38 +699,38 @@ struct dma_async_tx_descriptor *fsl_edma_prep_slave_s= g( fsl_desc->dirn =3D direction; =20 if (direction =3D=3D DMA_MEM_TO_DEV) { - if (!fsl_chan->cfg.src_addr_width) - fsl_chan->cfg.src_addr_width =3D fsl_chan->cfg.dst_addr_width; + if (!cfg->src_addr_width) + cfg->src_addr_width =3D cfg->dst_addr_width; fsl_chan->attr =3D - fsl_edma_get_tcd_attr(fsl_chan->cfg.src_addr_width, - fsl_chan->cfg.dst_addr_width); - nbytes =3D fsl_chan->cfg.dst_addr_width * - fsl_chan->cfg.dst_maxburst; + fsl_edma_get_tcd_attr(cfg->src_addr_width, + cfg->dst_addr_width); + nbytes =3D cfg->dst_addr_width * + cfg->dst_maxburst; } else { - if (!fsl_chan->cfg.dst_addr_width) - fsl_chan->cfg.dst_addr_width =3D fsl_chan->cfg.src_addr_width; + if (!cfg->dst_addr_width) + cfg->dst_addr_width =3D cfg->src_addr_width; fsl_chan->attr =3D - fsl_edma_get_tcd_attr(fsl_chan->cfg.src_addr_width, - fsl_chan->cfg.dst_addr_width); - nbytes =3D fsl_chan->cfg.src_addr_width * - fsl_chan->cfg.src_maxburst; + fsl_edma_get_tcd_attr(cfg->src_addr_width, + cfg->dst_addr_width); + nbytes =3D cfg->src_addr_width * + cfg->src_maxburst; } =20 for_each_sg(sgl, sg, sg_len, i) { if (direction =3D=3D DMA_MEM_TO_DEV) { src_addr =3D sg_dma_address(sg); dst_addr =3D fsl_chan->dma_dev_addr; - soff =3D fsl_chan->cfg.dst_addr_width; + soff =3D cfg->dst_addr_width; doff =3D 0; } else if (direction =3D=3D DMA_DEV_TO_MEM) { src_addr =3D fsl_chan->dma_dev_addr; dst_addr =3D sg_dma_address(sg); soff =3D 0; - doff =3D fsl_chan->cfg.src_addr_width; + doff =3D cfg->src_addr_width; } else { /* DMA_DEV_TO_DEV */ - src_addr =3D fsl_chan->cfg.src_addr; - dst_addr =3D fsl_chan->cfg.dst_addr; + src_addr =3D cfg->src_addr; + dst_addr =3D cfg->dst_addr; soff =3D 0; doff =3D 0; } @@ -743,8 +743,8 @@ struct dma_async_tx_descriptor *fsl_edma_prep_slave_sg( if (sg_dma_len(sg) % nbytes) { u32 width =3D (direction =3D=3D DMA_DEV_TO_MEM) ? doff : soff; u32 burst =3D (direction =3D=3D DMA_DEV_TO_MEM) ? - fsl_chan->cfg.src_maxburst : - fsl_chan->cfg.dst_maxburst; + cfg->src_maxburst : + cfg->dst_maxburst; int j; =20 for (j =3D burst; j > 1; j--) { diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 205a96489094805aa728b72a51ae101cd88fa003..8e45770a0d3960ee34361fe5884= a169de64e14a7 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -166,7 +166,6 @@ struct fsl_edma_chan { enum fsl_edma_pm_state pm_state; struct fsl_edma_engine *edma; struct fsl_edma_desc *edesc; - struct dma_slave_config cfg; u32 attr; bool is_sw; struct dma_pool *tcd_pool; --=20 2.34.1 From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 7C2672EA482; Wed, 14 Jan 2026 17:13:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410809; cv=fail; b=RLypQZfbGNcWTvC7X5Wzm6DyUPlPAxLhxnZ8BOGM1S69aR+wRRDqqQTWSXS7IVtIqSEXJ4GzvbswU4LFF7g6Mg0qOwWTUqyp8QRcQR0suqw4xa/cR3Q6gFIbKsrx2DE33OVOevcctduV/uBoZTttlyAceVSmqHoNU6yX3FYDcvg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410809; c=relaxed/simple; bh=HMxUaQN43fsTwQ617LIAHiXWsPUUzYeGGhCwt0b0eZA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=SNPXQC89KCaGAnBvXEujGl6AGLWTkwPE4Jy8zCAFJWwieSLKb0n8rzJ+EBPSTQT2ojzP0v9xOg527vUbZ5dupr7ooRa7bcSfdShAlTrBoi7zOm91y8J8hPMSkrAlTgZudDFtqnVYtO04lV5MiWvAiixiwLwR+6F2tzX8F7b9YQw= 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=G2sNgWCm; arc=fail smtp.client-ip=52.101.84.15 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="G2sNgWCm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mrUDaAYnILxH+LMtNFDxzHpxz0hNWhG3Ea/dTZcRi99GWl/Vc7JG6gCLhAy1+5XLh8UWgpfB8k1rYkqPRt95Q6hl+6XSWJ2Yvu8TA1zENrnVCKnI6BzYlUoROMQkYTYADYN4bQIW0aTvhREHR4BrYDtHMtCGCoRpXcoCOGazC3xOVjb0Eczh3HkEphmcMLW3/fPwI11egzxW+p0OMHj6V5uxQhVPrQRsVoBM3wfhUck2mUv5JmRsaSE5XKcWx0ZZ2JgG3nti2Yd9OJ8giNAzOiD9NW3vlbruPQAZnTq3SBQMM6eKSLF4b02WZskyXXZJ9LEPjUFm+DBStOjWkJPZYg== 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=Z76J7+bwXT1rKFSFuvxcuZW4UjCPB7lgQ8eh/NImVHk=; b=U7Ehvvx5JQIMUXZ/ulw0qScoPlxmE3b3B4b8S1nnqT2zZ4adHGM7HlMqTPWNHGuABO/SBT2MUBAtr+bOoP9bQhnoynzcktceqEugC1lvxjRM0x20lEpdVwE+v9PIk32BUJ44gXwb//ALSM9s4aSwtNxVq7mJ0HChxXI+lTjypPOyMQQfk2/1zeJZg/QOf7DJpNx4OmYK7HEc839oT3D2aj0vQTtOVU8n2jNNRWw9AYukgQOS3v3objWaVFERKcGA3mcH0rX9FNeYj/TsfjEaAGGcB+7m5s++CCj7pgalWcZRZVVugJx2CVBOP0LHWleJ3tBs12Teg2K6C6yHCseFzA== 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=Z76J7+bwXT1rKFSFuvxcuZW4UjCPB7lgQ8eh/NImVHk=; b=G2sNgWCmh+uoPk9k/liPYH+P5LAxtQq98C1WX7Lep4Mh6f60LV/QNYTeVhrboDalL/TIpn3WDdZsLxt246Kbq7K1Z+a2Pybt0+XXdwHJlFtsofWJcRNT4UuzyRLL7aAoQd6QUNMG3IZAcE8uGv4NT4p9/let/aZGwYI7FnPzHRD0GG3yTy47RxRz6Kayk0yFzP8z/nZDz+sCOagFDDtfrHvUmjC1Oe1qNwzperF4ELZrNgRBf5iAHMVI5/6CTjlcWdr4Ry2y8hzQDUmqekNGPVVEhOCl2qsqoIaNqjEHBdbQJDNg6fJIItlOLW4twHAgWvBI+xiueSTn9ayN/rNSBA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:20 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:20 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:45 -0500 Subject: [PATCH 4/6] dmaengine: imx-sdma: use common config at dma_chan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-4-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=2289; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=HMxUaQN43fsTwQ617LIAHiXWsPUUzYeGGhCwt0b0eZA=; b=tpIErUEZu0mmk3kEFyDLrR0J9egLltsP0QN/UBF8nun92GY8jshHzdkF93Sokk/ClsuI5BrQs 8Ae9qB1Pq6eDfYZHeqomoN5TYEvkcJHw+BM1QQ6Jc1lSPdbM5tB4gFq X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: aaf57ede-9843-4df2-825c-08de53903761 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?U1hjWk9UNnA5NDBMWkJoZlZyT1luY3cydlRxZDN4bTRIZ0hIUDN1QnpyMW42?= =?utf-8?B?eTdVVVBIR25TWlNkRjhEdjRYUFArQnpEcmtRRGxmVldiYWNwRnJrR2xKNGZa?= =?utf-8?B?OEoyaTk4VUZ5STJiRlRSUmZJTmRGSjVwZVIrTHlQMU5HTWY2TGtkYjlEWkZo?= =?utf-8?B?Rkx4Ym8xUVpQWDNlYXo4QWxBalZNYy8vMUJDa0ZMTlBFWXkvdVJmQ0R2dXYr?= =?utf-8?B?MFlzWG5OVzZNdmt0WjZ3NHJZSjJudkM1T01kVnByMVZBZTRHV2ppV3RjK2pT?= =?utf-8?B?WkNuTkZIckkzeEVTWUwvTE5ybDNOMHJXdzJyeDBkZ2MydW85VVRGUS81N1Ja?= =?utf-8?B?TDBZSitCNm9yb0kyYjVpOUpaWDV4ODVYeklMKzhTUkxOcng0VTZDZ3ZQcHJa?= =?utf-8?B?ZG9ud3M1QzdVM2IxTXhuL01ObHArUUxEQ1VyRkc4S1o4SjBRU0huU2M3WjVU?= =?utf-8?B?T2xIaHNlc2hpRDlTTnhtN1lQL1BkYnJZYlFCYjZ2NG95ZnVteWI2THIvLy91?= =?utf-8?B?N1NtdENoeFZ1ckVlQVdHa2gvOWVkNVVoTzhpQXdXRkI2UUk4YnJ5WTBTcGJ2?= =?utf-8?B?WEVMNmVFeURvZEZtdVdic0p5ekNMZHJxM3htZkgyTDNUalI5SWZGaWhTVWxz?= =?utf-8?B?VHZZcnptSHNVbmZjblBicmVzK1Z5WXJSTHNjMFpxUXJiQmpmNWprT3ltWnNL?= =?utf-8?B?dW9FU01FQjhYNE1WQUZxbmFGU255WXR3c0ZkWUxDY3c0ck84d2cyN2NWV0pl?= =?utf-8?B?S3Bpb0JyUDRtU2xlblhlcmhYRzYvR2xHZHNXSzhRbFVHZUxjTmRhV0lKbG9D?= =?utf-8?B?MTg4aHZseDEwWnNIbkd0YlpHQVVjaEhMV0p3Y3NaUVZSbm9OeWRWZDUxWXBC?= =?utf-8?B?bXp5TmZOY2NoM2o1bmVGaVFMSXJJdmMrWjh2ZUh3enFMNUlWODMvam4xWHN4?= =?utf-8?B?cURackNtT0pEVEZ3ajc1ZlIxc3Q0WkUrd2o5dFlGNExJR29jNzVUMUkweFU2?= =?utf-8?B?RWpSNEEwVGpPckJCT2FHbnFGb1pjNzdoMVV1WHdYZ3ZxaHZQS3dSbllTZXYr?= =?utf-8?B?SGY2WHgxb2pMTnczUUJUQTBQQXQvSHdGbHNmbjN2dHIvdE1qZ1I3VmNTa1dT?= =?utf-8?B?OXZKaFRmeFFQUElDY2xNU0ZvaHV4bUVkdjFBVE9wMWozTS9rNFljSnZSK05s?= =?utf-8?B?RHRoSENSZS9DdGc1bzVMdno3UnlDTVVwVnhYZU5PcTRSNFV4K1kxcHpQNkNV?= =?utf-8?B?bFpaTzFTZk9WdHBYTlg0NFoyZGFZUnJ4cmwxRTNXc3NvNzBSSnMyNFZidllw?= =?utf-8?B?Rml0MWhPbUpmR3k0Y20vYkRicm9mR21LcjRpN1RRVVJ3UDM0eHRkL3JiWmVQ?= =?utf-8?B?OGc0TGNtSGtxeTROazVXQ1JkdTJXN1lTcWRVTTdUS3RIUVpjcEIwUEs3VU9y?= =?utf-8?B?U3BnLytUU0dPQTI4cXRYd3Z3Vk52bjJXbFgxbENGb3Z0U2lXM1VMYVQ5SFlC?= =?utf-8?B?K1ZKWWUvK05XUnJXSTdMMzVIWmduNmJIb2ZQUnpjME40NHgySmxMcGhFWlMy?= =?utf-8?B?VVJFVFhnU1J1T2FSVmlFODhteTNkdktxVHJVdThMZG16VTVrSGNMT3Y3VlB0?= =?utf-8?B?ZjZzeEVQQUx1OG1VY2hlQlMwc2JjazlkME81bEprVjlZQXlXb1FZOUpyVjJq?= =?utf-8?B?VjhPUnJMWnNQdGQ4U1pZNmZvUWtYZGR4d1FoenBGNWh6Y3ZDa2pOdmhaVEZs?= =?utf-8?B?bkNFY3JqR2xZQXROWG5vMjJzZUQzMWpNeWc1QVB1by96Ky8rNUg1VW9ORFNx?= =?utf-8?B?azF4T1ptbkNFMGdBL05kS2haYTZxeDQ1VFRReW8yQTJycHFFRU54aVJzd1hR?= =?utf-8?B?OWhNeEN3SUxuSWVZcWFzRUtxZzRPVDRSWWlkMGlxb0J5TkwwQktHaWU1dEZV?= =?utf-8?B?Sy9TUWpwZ2p3NjdvQlY3bW9ud3o2K0tjL3hRU1ErTEZ0MTVsZTdPbXJ5aVpz?= =?utf-8?B?ZXV3MktNOFVOTUlaL0NJT2dHa0dCbm5heU1QaWc3amF6dEluNGg1UlJuMU1a?= =?utf-8?B?MURvd3IvaWlKcXBpeXZmekZWK3E4RmZQVXRoblV4TjVtWVB2eFAydkU2MDJh?= =?utf-8?B?ZFp1R084Rnh1MWZhbFljMjRYeWVvNjZ2TjVtOStzT2lYVmd1Qkc3dTBqOFQ3?= =?utf-8?Q?Oh/Zr5FBCwHcNQvv+Kvs2qY=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SjVUcWF0WFpISFpFQm1pOXJGcGJGZklob2ZydCs0c1ZKZTFUV3EzK3YwbHQ4?= =?utf-8?B?eFRIcy9RS2dWWXZybTlYTmVNejBSLzB3RUtJem8zVUM4ZkVhMFFFTm5HeWVF?= =?utf-8?B?YVZYKzBDbVdpM1Awd1B4dUFQd2Z1UVhnWXQ2YWJYNFpjTGVnQjdEY0gvcHN5?= =?utf-8?B?eXZVRGVqWWZ3SWwxc1lMQkk2ZGpYRng0UFQyRWF6MC80RU9WOWZwcUdHY1RO?= =?utf-8?B?Tm5aQTZvK3cxQ2hobDFselJMbTd5UE44MWdBU25Mdmc4eXYvaVRibXdZUWdl?= =?utf-8?B?TzI4SzhCVUoycmtkaGdoSktNeDJwYWF2cGtrdnV3eEp4WUduK01UNitYczdo?= =?utf-8?B?ZWtOU25RTGgrM1F0N0RhN1BSU3VIOWtLYlh3bkU0ZkFnaDhqL012TFArYVc0?= =?utf-8?B?UzIvVFplc3NEaUloY21BTDFkcEszRnF5eEI2MTNBWGluV09Xanlla2x1UDRt?= =?utf-8?B?TE1XU1AvU1gyQ2FPdlRFdzBDS0RXMDl0bzVVNTVscXZYVi9FMDgybjVEWTFw?= =?utf-8?B?ZmZKbHdFNzVHYWVFRC9kNEZ1S05TZVNVeFVCc05iTVA4dG9MNFpsMkJ6cmN4?= =?utf-8?B?ajI0dVRnUmZ5ZjlUTHdKUjRzWFQydDNpWEtkRGJYNHVhbnRrd01GY29WWVYx?= =?utf-8?B?eU9aNWUvNlRkUHk2S2s4Rm9xTWxHcHc4dWtuRng1TFI2RXErZ0NYaE0yS3Bp?= =?utf-8?B?T0FYdGMzbXZaSEhOVXA2bEZzdklYeGNFbEhnL1VDcGkvYWh3aHk2ZlVXRlZV?= =?utf-8?B?U2p6R29MejdldWRBankwbDJVam5GM2RXT25Id1hrQ2lUSmJvQi9mSm5hZW05?= =?utf-8?B?UUdTV2hEVUVmRTZ5cTVRUmh4YXArUWQ2WjR5bnFNR2RsdEZtek04SWlMMlkr?= =?utf-8?B?TytoVHVBSXAyc2FKbnZuNGpaSDBObVcvdGRTYnc2OHpKRFY4dHpYK0pnN0Nl?= =?utf-8?B?SXFIOFZvU09uT2ZYK0hUajEybSsvU2U2NkxVUnVxQnRlZU9uQThVK09LaXhQ?= =?utf-8?B?ZXA4NWZGZG1IVldIcVhWTDZoVlUzQWlwQXdvenpmSE52dnZ2YWgxUnRRWWRK?= =?utf-8?B?TDBiY1V1VWJ1eUttUC9aeTM4MTk0WElxWDhwMjV6NzE5d1FZejVsSEhDY0RH?= =?utf-8?B?QjNrMGRYSVN3b3U2RHJKa0Y1UC9yQTBXc3BsYWhmcG13d05UeVQvdWgrWEVx?= =?utf-8?B?eW9DZmNVZmxSeUtMSkNyU3ArRGhFdXUzbzl4THV3YlQwNTd1SUNkcUhMRzZ2?= =?utf-8?B?TDdHcUNjRm5yUHhQQi95bXkvVTY4UzdqMk0yR2xmMkh2eHhpN0x2WVhXOW0z?= =?utf-8?B?QlN2RW1tS2xsMVBuM2YvcUI4bXZJaytTQTBRdzBrMk81UGttb3h6cDE5cGtN?= =?utf-8?B?RDZQeDl1eU40dENxSzlVRGZ4bmNBYjBBMmRoSGk2dW9GSW5semNsUnN3YlJ6?= =?utf-8?B?UWtDeGJHRVFYWkxxbWQwNFBUZ1d5UitVeDVnbHg5UGx1eldsb05mSVYzUzN4?= =?utf-8?B?VEV4TzZrcVFLd0hjRFp3NGd5R0s2QTlSeUxsUlNnVTRDcGdDbjZCaGtEQXFa?= =?utf-8?B?V2lsa05QenZENXdxQTNFUmNVWWVUSG02aDBDdngzTWw4NnhITzB2MkpIL1gy?= =?utf-8?B?QkdvbGR1RjZycEMzVmVpZEdUbnZ1dDU2elhkbkdIdnM0Z1JGTlZFQkJMQjVT?= =?utf-8?B?TXJSV2pNdFRTbmZkSk4rdDU3cCtIRjZLMmR5T1BVMlNVRUQ3QVdHT1ZReDd5?= =?utf-8?B?VlhEVlh0MGVMbG1PRXE0K2swN3l0akNQbmIxWGtTejRmV25RekxweFMvTlhX?= =?utf-8?B?UnZKbE53bGFDMzdQeUtqQWQ1K2cvdGhBeWo0Njh5dUFPT09PYW1YSlZ2T2ov?= =?utf-8?B?dVNnZU5EUERTTjh4c25BbkdJOUo5TnVIR3E4TEtwellzd2JVUjM3cjFKSDZx?= =?utf-8?B?TGtLdThUQU1MY243S1pqN2NQODkxank4UVZ1dElxVHdsbVZ6YkVjU2IrYWF3?= =?utf-8?B?OEpmaW5ZVzY4RHZ1L1J2blR2OGEwb250UzhUaGlkQk1jUkpxR2hjdnV1RDBS?= =?utf-8?B?MWs5Yi9tVEtvNzlxbzhDMHdxU0szTDh5VTE1cXp3YWlVaTZ6VHhTbk8rekFn?= =?utf-8?B?TXM0SEMwZXk1KzVOdnRtOWUvTHQvcm1oaFpMUUJPMCtRNXorNGpCZzgvRlhi?= =?utf-8?B?cFppTENNLzhZNU1wbkpFTmZPQ0YwVnBWcnh4V1FvWXNaWEVrRjVvUVhaOHVK?= =?utf-8?B?T3hGdUExSFY0b3pwVlBrREthdmU5SlpBTzBzd0RWODcyNHRZbkVPZkVINnhD?= =?utf-8?B?SU5DSWVKZ2s3WHJORTRscUl5Y0RBY3UyOVdWYXJPdVdiZWtpQm5KUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: aaf57ede-9843-4df2-825c-08de53903761 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:20.4456 (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: j3P9FtvCqWmztxnK23wJRZvcrHDK2Kvvjp/g6GlslNg7zD8/decCOqZ51WwmX12QNLQK5yGUuIcWaLFgNMyzvw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Use common config at dma_chan. No functional change. Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index ed9e56de5a9b9484c6598d438f66a836504818be..13a9522eb914bd7808a079fd661= d99e8fcff6a0b 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -413,7 +413,6 @@ struct sdma_desc { * @sdma: pointer to the SDMA engine for this channel * @channel: the channel number, matches dmaengine chan_id + 1 * @direction: transfer type. Needed for setting SDMA script - * @slave_config: Slave configuration * @peripheral_type: Peripheral type. Needed for setting SDMA script * @event_id0: aka dma request line * @event_id1: for channels that use 2 events @@ -449,7 +448,6 @@ struct sdma_channel { struct sdma_engine *sdma; unsigned int channel; enum dma_transfer_direction direction; - struct dma_slave_config slave_config; enum sdma_peripheral_type peripheral_type; unsigned int event_id0; unsigned int event_id1; @@ -1647,7 +1645,7 @@ static struct dma_async_tx_descriptor *sdma_prep_slav= e_sg( struct scatterlist *sg; struct sdma_desc *desc; =20 - sdma_config_write(chan, &sdmac->slave_config, direction); + sdma_config_write(chan, &chan->config, direction); =20 desc =3D sdma_transfer_init(sdmac, direction, sg_len); if (!desc) @@ -1739,7 +1737,7 @@ static struct dma_async_tx_descriptor *sdma_prep_dma_= cyclic( if (sdmac->peripheral_type !=3D IMX_DMATYPE_HDMI) num_periods =3D buf_len / period_len; =20 - sdma_config_write(chan, &sdmac->slave_config, direction); + sdma_config_write(chan, &chan->config, direction); =20 desc =3D sdma_transfer_init(sdmac, direction, num_periods); if (!desc) @@ -1838,8 +1836,6 @@ static int sdma_config(struct dma_chan *chan, struct sdma_channel *sdmac =3D to_sdma_chan(chan); struct sdma_engine *sdma =3D sdmac->sdma; =20 - memcpy(&sdmac->slave_config, dmaengine_cfg, sizeof(*dmaengine_cfg)); - if (dmaengine_cfg->peripheral_config) { struct sdma_peripheral_config *sdmacfg =3D dmaengine_cfg->peripheral_con= fig; if (dmaengine_cfg->peripheral_size !=3D sizeof(struct sdma_peripheral_co= nfig)) { --=20 2.34.1 From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 661582BFC85; Wed, 14 Jan 2026 17:13:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410814; cv=fail; b=rD+O6p2w4HP03/1KTRxgnDC1oBh2H3mPuhDOajwRjyou5Ndc5rOaXU5JY4/ciQCPVHoS7ucB8BnyuP7DLTDk5kW2cR9tw4oPWlyC0jyOPwB/DX+n82U220S08gU5MC3DULTQSfZaQttcnXnP1VH7qFR3MimubkQKEGzudXjPYwU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410814; c=relaxed/simple; bh=/NeTZ4OVBGqK6BvJceFMm1CfELtBdwPcIYa3D28qamU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=bUoTqJ9NGlOz4d7s96f2umbKHWSr3St7B5ovGo7xWH5481lYh7JK8q7i/Z8Rx4MlVfTV8+4eKZ0OUq6OwzNL9P8qnEI7QX1kUpn0di9BalSiKlFe7Sk1AHxobXFhkne3UbGaenT3qRN78DD/zIJjWecJawYTLTaa+PMdRVQUeUM= 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=Is7JOnPC; arc=fail smtp.client-ip=52.101.84.15 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="Is7JOnPC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=b1+SMAIRhWo80B3s/uIGK8NZftZx092i+oWw3quhSimDRXLg+xWZ9VjeYaf+HX1BekCLNpJIgKTZnx32dylyMC7DW6xjRjxWQb5VQSKrcN4E6SfMfpZDAI5S17wzG62Oz4osAMXXDRpaBQrySOhyudjTpC7ZKuyOZna+hmJC/yAB37jbAiXE7yVQP33Ym+AiWs5wu0e6ukCaGLuIZwpca86A7XY047nt2n+qBnYvbwccFcqJSjiNIHQGZQhHJF3VgRzRoS8j1jWgTKAb1NEoJp0CmG65d3LxTq9Z8OHoklksugVJfZWZVybJojsUbass0ZE/T8CqiQtRhzQ2TT715w== 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=MNypAnq0+GB87OfbRexBwzL5NFiW1b42Hk4E5Sujq/k=; b=zV2P2JWKBSfrKC+zNlauNrq/P/BQ0g+256QlTy5ZkGzO6IV1URZDsUiMRLI1S8L4kk0j/Eba7MCQnAxiP2xzF8sGz03GVFetmvnXS6XYgSyvMhFtrdhvfbmOjayZRmHxo37q5nHB6wiOzGyRY/FNDidAyYE+/TPBYwDiGo0dSKFP+DNCvT6zp96JYXeFeQbS+StRIGbrTk4SgmLYPnsGtvAUfyCbX0mlCwe6Z6UpFIhWzJvLD99xrLJL6yj4USekhxMyFuZwI3f0dX2Q/hgkkl1RVhtXbl84W3DvlG9Yf0b03gXfPQfqDEwZ6jjr5vitFJ7V1LM8ecye3Yd3P9RpTw== 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=MNypAnq0+GB87OfbRexBwzL5NFiW1b42Hk4E5Sujq/k=; b=Is7JOnPCrWVuXvrdMcjZML1gp43ySY2rY3OlXMyZndN4bjfIDZMCkd0JS1JdWfq9FgxwmBqOGY9ib6cXM36aNJ2Oo8T5kfyrz8pKevvp/S3dfOuxnWPKMOTNIxakpA1hoElt1lUxOdKTBRRcGVUciVrwQ3Sj8aKubDteAQaasFRUvV4UUrDa2FLpfpz2J24pmljPwgvpWEwpvt+ZRLEIwqeyuR/EO5l4hQB4kUmZDKE2CCMC/GMcjTWHmYHAnEvD1EmG8qnlCAHFeTL88mlobLeK3AQpzCGdblnX6x9deARSJAHR0EzBZuQKm75B1osDpXvb9kfbFuogBGmuy+xqtg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:23 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:23 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:46 -0500 Subject: [PATCH 5/6] dmaengine: Add union and dma_slave_get_config() helper for dma_slave_config Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-5-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=2460; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=/NeTZ4OVBGqK6BvJceFMm1CfELtBdwPcIYa3D28qamU=; b=VfehPu3AmV753z4Y0GkyVLYRccjHZP0EsTp1cAo0Ch8E0JbMz1C4FNElrgkIQxEgtLd5TnRRc u2qAO6f8BecAc0u1dENef6YHZnVtjO/AanI87VWP1CliarAEaE9qxW+ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a42cc51-98f6-4436-03a1-08de5390393a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bURlSjVOV0xucUpuUDNkb04zcHRwR2VXZmkzN0NsbW9Lc0V2cUQ2MDh6eDVL?= =?utf-8?B?VkVXSS9xb2htcjR1SngxQ3BFVFNVRUxuekJVQm1hd3I0NlpXcVVMejBWeU9a?= =?utf-8?B?STN3UysraW5WaHM1MGRGWkVuYWVtVG4raCtCdUl3cFhTRHRyZ0gvZ2M5d09m?= =?utf-8?B?aU5YM0dyWi9WQVFlQkxlZW9WRG15eEM3UmRRdzk1NWVyUTFWMmI0eDBRNDlj?= =?utf-8?B?NkxmUjRGakZTbU42UlFsOG15cW42cEZXeCtSOVF5SlpXY3JZdnJYTzU3NmR4?= =?utf-8?B?MnlXaUFEUEVqOTZocVdnbGJvbFBEbTJyUHNsREM5U2NtR3YyNVUyYXBpSnNL?= =?utf-8?B?SSt5ZTIxTG1zanJhU1pleUN4RlhlZmRRK084NlViNVlWb0IvdkM0bjcxbUtl?= =?utf-8?B?UDFuTFpLMWszRTBWQ2d4L1hBWHlBRUUyMmtFM0xOZWpXUlVrcVJwVnF5N3FW?= =?utf-8?B?VlNjazY2cjZ3c2NTU3RJdTBCQkpobCtZOVlNNFA2SHlLNElSSGZOdFI5TStP?= =?utf-8?B?TStLeHgyVkdMVXhKT3d6cmQ0bXdCcnZ3VnJwMjVRVHdYREZMWXF5L0JkWjlQ?= =?utf-8?B?UDlTcVIyTEVWbFR1OXd0RSsvYUY5SzNON3czS1dSYnVrc2Zxc0Q5Mm5lZ3Bv?= =?utf-8?B?aEFyVG1DQ3A0MDdacTAyWVpTN3haNmprajhpZGhpeXB6bkhPYzlLdnZkTVpB?= =?utf-8?B?OG0rME0xNXNOeFY2bzhMOGxXV0h3NTVxQnJ4REdoSW81ajNIanZRY2gyMVhq?= =?utf-8?B?ODJvd1ExSk1LS0NQZnhXWGt0Wm8zeDYrZHdBZWhHOW9qYzFOOEpPY1JRaHoz?= =?utf-8?B?ZDdNN0pyZ00yRVMraTE3ZE5qUXFLc1dFeUpRMWZCZE5mcG5rY2FMV3F6RXZs?= =?utf-8?B?bXVwV3dlWDlWMHo2T0ZGMTR6Qjgyd2EwS25iNnpMbW1FSDd4U05WNG5Sdjli?= =?utf-8?B?L2pPVW5NQW96cktLYVA1SDNyWjJ2UTA4NDFaQk02RCtsbXFya3JYTlBJY3ZF?= =?utf-8?B?MTBMRVpFcS81Y3ptcGxDTWhxak9PNmdJdng1OEU0RDJ4ZktoMExTdjcrWmlJ?= =?utf-8?B?bFRGdHVSWENEVUV1ZDJEUVJZdzF6V2drQWRNWHRLeGhhb3VCMXAzRm5qd0F4?= =?utf-8?B?RnRJRERsbVBBeDkwUEtPeWxWYjdDSzZlL2Z5bkh5VmJKUW9BY1R0Wm91YzNy?= =?utf-8?B?ZUtYT0E2aGtIS3ZieGM2dERpQkdheVRoWlY5OVVqR0NnNzJjbDVqb0xYb0ls?= =?utf-8?B?Wjl4c1l3Z3hjOFkrNUZ4WlcrbVVkbG9JQlZZV2RNdytNTlNYZnJqRUxRYmRy?= =?utf-8?B?QzkwR200c1A5WEc0M25yb1VMcFhpbkNhb3hPR25MMXJkOTZGbG9od3ZUOUt1?= =?utf-8?B?WGhKWVNEWFhmUzhvdC9jTjhZeStWaXRWN0NsS3ErbmRxVFFrTXY1dUgwY1p6?= =?utf-8?B?UGJGQXk2b3NEeWNuOTZkRkhjd3lnRlNqeDJsSTRtUFVOMHluVjd6TkJPRTh3?= =?utf-8?B?S25MZXFudEpGY01PbXNIa1IzMzMxTFZvWUp4RHdFcDN3STArdGJrVjk3ZVdw?= =?utf-8?B?MkQ0VkF5ZVRjcG9DZ0h1MGw5WlNaLzVpTDNDbWN1Q2xDRkdSUllHRU5TM084?= =?utf-8?B?L1NoZmxTOEJ6d3A4aW1oaVNxWjdwdDlHdW82STVxU2Z3ZU9nVG1Ha0hNRGE1?= =?utf-8?B?OGEzZEZjYmdDTjNXd0F3UWRKRWNDM0JkaVRzWTdLM3JPbTJGK0tobE1IUEZq?= =?utf-8?B?VU5MRzlYVUY3WTZDRGU5NHp0UVBwTURXMld3UzZIbDFGdmFES2thQ0NmdFpI?= =?utf-8?B?Y1kwWlJMMHlCVFNaN2RuazRaUzRFWWNlVHAvWWtSOEVwVG9UWElJVkg2bjdt?= =?utf-8?B?cHRTaE9OUGVTckMvSmpCcGtaMFB3WjVpSHprUXpud3ZqOEt3cmNxS0xGUkFk?= =?utf-8?B?UWNqZE9xVkt6U0gyZUtDOTNpbTR1U2M5S211OW5vcWVJMmQ1bXdROWN5dWZL?= =?utf-8?B?Z1BHandBekVBWkUrRkU3b1Z1SzZKZFhxekJaM1p3aVY3RWFHNFVFRVoxNmkw?= =?utf-8?B?eEUzSmtpbzRGM0ZDQ1luWXBBdWZxaHFzOVo2c3NwYmJpcWRCbE8wRFFIUVl0?= =?utf-8?B?akoxMjlleVZ5QjYvVG1wTkY0WjNFTTVKRjE5aW93V0NKOW0xUDIzaEdHMFh3?= =?utf-8?Q?mKp1rp8qXpXbw2s3cLWl3Rg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cldrdHZoV2loUkUrVC9XUXJtR3FZd1JVM2xtcUV1aEF6U2l1VXBBZys1QWY3?= =?utf-8?B?ZjVxb1ZuR2RibmFPTVJMY0lPRWNGZ2RUMmdTRk1zV3BDZHZVSVlPOEtndDR4?= =?utf-8?B?MHRvUU5IR1RQY1ExcXpYL0lzUUVGVHN1ZzkrcTFkWVVlT3QwVHhRbkhTaGFh?= =?utf-8?B?Q2VIcG5XTW9teVJxZkQydFFiaGdISll2SVRaK2V4SHorelNzSTBSS1RuKy85?= =?utf-8?B?VWZzTk94ZVRvSDdWSmRSc2NtMnhBS2RXaUhVTmVGYk0zWEowbXBXa3lmZkl1?= =?utf-8?B?SElxU0xOam9iOG9DWDBFSGNPdHBEVXpVUmRmRXZFTTRBZEJaMndMY1lWNTJK?= =?utf-8?B?VWsrMS9UQUFvVlFRbm9LcWp1V0R4RU14MjliRnBiMWhLWjVYZmZoSjk5UWRW?= =?utf-8?B?U01pWVZKZkc3ZWtUb0Y2bmJybzB6Nm95R1Z1cjdNUHRBQXVMdVNEZkt3L2py?= =?utf-8?B?d0I3UXVDZER3MkhrRUROZmhGeUZwbnIyNTQ1ZVl2eUhHRFZGc3BhVjRJYVdB?= =?utf-8?B?aDhGTzFEVHRUWGpWWnNCcGgvd3ZLSDNhbVpBdEhIRW1SdlpuVzNKQlB1MDF3?= =?utf-8?B?Qm1HMjJ2VXBaVkZyYmx1ajVtOEJTaEpyWksxb0kwVElZVTJRSXBiN0pIZEdy?= =?utf-8?B?MXhDeHFRK3U0U2N0ZEt4Q2xHemYydnROWGVIdkhlOVhvQUp1K1FrcnFzd1NP?= =?utf-8?B?UTNaSjQyOTJlbDd3Wmx4MlBZcXM2ektzaVE4SThNSFptSzk0UUcrWGNocjBp?= =?utf-8?B?ekg5SGJ2YzRncXhDYWtLazlUVkVRY0VLbEM1Rmw2d0ppZG1ZTGVsZUJtd0d4?= =?utf-8?B?NnlFU21hVXdqbTVQc2l3b2JGcUd2Z2wwbEFPbnJ1emtqM24zZDZETHpuTTVM?= =?utf-8?B?cGhxUHBjTzAzMkRjUURCOWRSRzJZY3ptRGN0dkxJODE5elFLNjFzbFFLNDlo?= =?utf-8?B?a3FsSWU1NDl3dGkrck1sNlk4VWlKVXhaZmNKazJaSnQ2NmRKU2dVQjN5OTF3?= =?utf-8?B?SVBKTEt1dlByOFMwNEZwQ1N0c0ErRElhbDN0U3NKVURSM0QwSTZOTk1iNDR1?= =?utf-8?B?eTBBQjJXRzVlQnR3YkdCcE1iM1JQZzA5Y0UrU2RHa3JvUjM3N3ZDWE9rQ2FK?= =?utf-8?B?T3NzOUhSWU5HaDArS2ZlM2R1L2dJMnY0OWxCQUxGLytrblJyTXpKRTM1ZWpK?= =?utf-8?B?Y0JUOS94TkNpMGdWVVpLYko5T0RqeFJMS3FKaHFhWlkxR2ViWnVaU0xSbXdi?= =?utf-8?B?Vm1tSEJwWUFlWW41Wk0yYU5RZFRGMlMxbzhWUVdyZnMycDFrOEU5d0FNak1M?= =?utf-8?B?ZFI1RDdRTzdmb2Zra2xhZEFQZDhwOGZjQXB1TlhObnZIT0tubWlpZi9KYlZ3?= =?utf-8?B?YS9XekFTM1NiSEY5b0NQNnNYZHpYVjRWR0dVVmJSVlNlYlJqMjU2aVZVR0Rq?= =?utf-8?B?VFErbWpIV0VCR3VXbVMzQlhMaDB4cC9xRzZvMVV5Z2VTKzVOU3dCUktPSys0?= =?utf-8?B?NEx4UzFYWDZNNGpDY1pIc3BXNzRaS2toSHd1UDh0WDdFUzdKcmhPb3d0S2FQ?= =?utf-8?B?SWtoc2RXRm1JNzQrRStlQ1ljdHF2bnZaWjBpUlk1NEFqNnlhT2pZWnVMUkhO?= =?utf-8?B?ek9NWVhPY1hXTDJKVm5jYWx5aTNvNktLMEFQZHJ6WDl6NHUvTmZqL3FXdWNa?= =?utf-8?B?YUJ5ZlVqSktta1I1cURZZ0lGdDBSbytHbVp6b2ZMcTBOdDlGdUhpMEFGNEZz?= =?utf-8?B?YUpQVk8rUndKOThzMEwvZ0RSTTBwQXFoeXZrdDRwYVI1UzhKSzJ4MUtWYUlU?= =?utf-8?B?bm5zR25qdk90VSswSzlwUmIyZDNMa1l4M0kwNTVTYTcwT0tLWlNyK3VGNm5X?= =?utf-8?B?V2Z6S3hkQkhQTXpXSHRqY0JUemxlUERaU2FWb0pxWkZGTVNMU01RdG1BVGlm?= =?utf-8?B?a0J3QStmajNhZUthTWk3RmdVbVVTTk9jaWkyYjV5T2tQZzNEd0pSSTJvWTNK?= =?utf-8?B?UXNuMzJFbkNLeTMzNDBvVUU3aURMbjV1bXo2N054QmJxTlNMVndTYlJPT1ps?= =?utf-8?B?T2hjSStEOTI0RXh0MTljU3YvNkhFaEdYNmZ0UUdQbTVzQzJhb0VXMUxKQ2Qz?= =?utf-8?B?bjZlcGxZaCttaXZEZDBnYnZ1M1FqVXNuSGtmS3BrRU1UWFBZcTAzdUFTWEFC?= =?utf-8?B?OE1xbm1OeEJFNCtPaER6V013V0VjU21SMjVHKytRTFBuRWoreEsrc1hVMWJi?= =?utf-8?B?OXdhMkVzY0pWelVNV0U3RCtQL3dnTkE2YXJYaWt1bXE0Z25XWXA3c1pRbkdy?= =?utf-8?B?UVU2WjlsR1F4aWN6WExjSm5TSEthbGdweFpTVnloemdSTnc2d3JhUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a42cc51-98f6-4436-03a1-08de5390393a X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:23.5163 (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: Mzbn7yKfESfWe1eAlH7y/jt86ebLrMEKjmErd3Zn5c2MI/gV/o4J4r8z6lcBbusG7zYxM4T3Hr2jnSRP+uUbSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Previously, src_ and dst_ prefixes were used to distinguish address, addr_width, maxburst, and port_window_size fields. This required drivers to add conditional logic based on transfer direction. Introduce struct dma_slave_cfg to group these fields and add the dma_slave_get_config() helper to retrieve the source or destination configuration based on the DMA transfer direction. This reduces direction-based branching in drivers and improves readability. Use a union to preserve the old field naming and maintain compatibility. Signed-off-by: Frank Li --- include/linux/dmaengine.h | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 362a43c3e36e232b5a65ff78ba0b692c0401e50c..03632bccc7ccb3c0c4a9c78f158= 65f35a375836a 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -384,21 +384,47 @@ enum dma_slave_buswidth { * If not: if it is fixed so that it be sent in static from the platform * data, then prefer to do that. */ +struct dma_slave_cfg { /* order must be align below dma_slave_config union= */ + phys_addr_t addr; + enum dma_slave_buswidth addr_width; + u32 maxburst; + u32 port_window_size; +}; + struct dma_slave_config { enum dma_transfer_direction direction; - phys_addr_t src_addr; - phys_addr_t dst_addr; - enum dma_slave_buswidth src_addr_width; - enum dma_slave_buswidth dst_addr_width; - u32 src_maxburst; - u32 dst_maxburst; - u32 src_port_window_size; - u32 dst_port_window_size; + union { + struct { + phys_addr_t src_addr; + enum dma_slave_buswidth src_addr_width; + u32 src_maxburst; + u32 src_port_window_size; + phys_addr_t dst_addr; + enum dma_slave_buswidth dst_addr_width; + u32 dst_maxburst; + u32 dst_port_window_size; + }; + + struct { + struct dma_slave_cfg src; + struct dma_slave_cfg dst; + }; + }; bool device_fc; void *peripheral_config; size_t peripheral_size; }; =20 +static inline struct dma_slave_cfg * +dma_slave_get_cfg(struct dma_slave_config *config, + enum dma_transfer_direction dir) +{ + if (dir =3D=3D DMA_MEM_TO_DEV) + return &config->dst; + + return &config->src; +} + /** * struct dma_chan - devices supply DMA channels, clients use them * @device: ptr to the dma device who supplies this channel, always !%NULL --=20 2.34.1 From nobody Sun Feb 8 21:09:49 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (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 F40D72ECE93; Wed, 14 Jan 2026 17:13:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410817; cv=fail; b=P5oxSuOnTLSZxKUTej3GkTo8Hih2mYi24JKSqpv+K0CWw9wSK0QA1CK0TkwgpNW1j50PJHSoKnvaKRJJNiasNTmMjpp+swDS7dvm9t4cLSBq8qgBY7XHfVxtAc+DIrqExJ8g1IEY0egbvzkZI6cGcMveDIyW0fAClFE3KYWbZks= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768410817; c=relaxed/simple; bh=3y63TyYP7BOYQXn3w7jcajxclSrGCMkNn/bm2z6pSTY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=um25yIzLbFMIo+HqvL6u/OkJZTun4963J7vARLnhiUgyBaVD3EpvCd+JRBPOWRaclvztAW6BJ9ksAX++XQp7zs1GuWYvBQUC48++ScyHPjMBN24WlbOEdN3u6f8go3ja5qJxpiJX7zWihPKUtKbgweFClapxkt4OwbhaD9JHnlM= 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=YFhfmBhy; arc=fail smtp.client-ip=52.101.84.15 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="YFhfmBhy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OpnktG9MG2jZBTf8cvbU7BkIzKKI1TOchHb5zMvy6ByHkKCTgB7gvl8CbpLne+MEqLVw3msngHRLdXG3OEl6+8yDwyG/29LEDsEElVIF/G0pycqm96CeCif5TgwJlvjHHwAtmrmt0m++GOn7cUyKtd5+EIVgAQF82xWREcnw8isTgEsHtgXkhQB8q9ar9AhwLdY2TcELijJfYR1+tuJCzcX+voCR7xXVVbCGboiwg6qkkK32SdSVIKlDXRK5Rj3vIxTlpjIKKuWpgSaxuv/RG2a8XVNAfYGDpdZR0h8HhFRc4JfRoJr/tCKM1slSY/yUmyzBXVlCa5QQiYykb8FxnA== 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=/rndFeVMVjxOc0AaKh1FX/5S3iK1purkWokdgUkSXeI=; b=CYRXl2dmeAvlvl8zB3ekhQON9WXVInQO2t0HGqcEZo7ZiMyyf32SSJ1VJPbFuYvn16qbJjnpxp4jKWu+DOEHbSrUXYiNEJ0PT1gXEjcZQPxS5Ol0YPLh/iNK6nfWdvLxXmnNsdZIc7YhB9SKhdMHf3q5ZR2vK5UagkUwRgtTjHHHSZBHXwSTat+OfgO1ulrneaPE4FL3ZN3lYy+zXcBfzolqGhCn/LOx2nz0Dpd+FH/X+InHjA6UQ4QWuwi9BrLtoQ3QITvUw+MBVhpDHYP8VlVxQdwq39Wch05la+Du91/Xq3AOTqfy/yR63oZnRqhoJgWhOLF4TCK2DjZg3oq+YQ== 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=/rndFeVMVjxOc0AaKh1FX/5S3iK1purkWokdgUkSXeI=; b=YFhfmBhyO4v6/Ybs/uirhBVKsqCgiuNynAnyQFGz1OsHBD8OUONZ8Y0J+s4K5FJomCfC401tlCbxq7EL9ggiStqtCxmRQolI4i/33qjgLo43xS8xI62f2jWUhMjlT8wIoAW/OJiyxO1BgBKvzp7ulrY1TX+XwG74cMaIbs5aOek3qrP+491QzZ4NbB7/9r8GthYxpTSvYuf08QzrWorlMXgZG8gyfu9cxvh6rhmLN0ypj8IuUSAPibi4SV73a5Bby8akfKgr5it52WY7knTgjsETtB/NA0YXgu/nW/mxw2VD4dK8gKPGJPkm9qxATXqcQmrT7Yqsc8YrORGzvfIpfg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) by VI0PR04MB12155.eurprd04.prod.outlook.com (2603:10a6:800:312::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 17:13:26 +0000 Received: from AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e]) by AS8PR04MB8948.eurprd04.prod.outlook.com ([fe80::843f:752e:60d:3e5e%4]) with mapi id 15.20.9499.002; Wed, 14 Jan 2026 17:13:26 +0000 From: Frank Li Date: Wed, 14 Jan 2026 12:12:47 -0500 Subject: [PATCH 6/6] dmaengine: fsl-edma: use common dma_slave_get_cfg() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260114-dma_common_config-v1-6-64feb836ff04@nxp.com> References: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> In-Reply-To: <20260114-dma_common_config-v1-0-64feb836ff04@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768410779; l=3287; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=3y63TyYP7BOYQXn3w7jcajxclSrGCMkNn/bm2z6pSTY=; b=cfs2WYv5qwzdk96A/gQoLrSoUG7flEV7Qr2OyDDH5vuAYpi/RFLw1nVb7BwcvNRK8tje1fu0o gzRqU5Rbh/SAWz9TKOyWRxa0YydvqV3kIxXHffxLjfUdCTENhNmhmAY X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) To AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17) 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: AS8PR04MB8948:EE_|VI0PR04MB12155:EE_ X-MS-Office365-Filtering-Correlation-Id: 17a6119f-e078-4a44-f0e5-08de53903aff X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NG81cGhuZms1UGxpbkdwb2g4ayszT3hrVHF5elNYV3lKMjhUeXE1RUx3N1Mr?= =?utf-8?B?WjRhcFVpM0dYT2ZnbkY0Skd1YkNaTGdQZyt4ekpycFFsTGdsZ2JxZTROejhs?= =?utf-8?B?bXhkQ0J3RDZWWGdTZkhWNkdldk5wcEVoSzd4QVdmbEUwOUdhd0ZBUWdkZVk4?= =?utf-8?B?MFg2UExvb09NcFlvUEhlWGs4M1BrVTZiTjNQYXNwblRoSTZCcjRrdDU3c2pY?= =?utf-8?B?SjRQaHNsajFHODJBU3o5bEVPVlBVaGRpR1BTRDM0TGE2Ukh5NlpISm5JdW1M?= =?utf-8?B?dVJjR3lvZWJicDhLaEorYldRYTROeDVsbXpjdVZ4R1RCaTVjMG85WWoraWc0?= =?utf-8?B?QXdNVnRoZmpnZGx5cVFSQlhxRC84cUdLK2pMZUpGTzE5cXUyN25iQmJicmZN?= =?utf-8?B?eitKTFZpWVJiNkxxaXAyaVl0bEhqUjRTQzJsMXZTcWJ2anZGZ1oyNkZIbDAy?= =?utf-8?B?cUJDb2xFQzVEVVRTRkwwR09TclBWYVg5WlhMNm1vSjN5M0gxcG5jT00vQkFs?= =?utf-8?B?Y1VTS3ZzenprOHZrNm1YdUZUbU1NeDZQdGd6R0lqNmNDZVVmYzdRaVZoRG1Y?= =?utf-8?B?ZC9jNmVxTDF4cUt5U1ZFaUJvcGlQRkJFdlYyRkhKR08wQmNidEtxTUdWTFlj?= =?utf-8?B?ZHpLbUt4NFhMVURvZk9uSzM3TUYwUFg4Y25TVzhqUWVYQ0pxeGR5dGFoUTZD?= =?utf-8?B?RmVwbjA1bzlWMlo5NXAyWEt0MEsvYlZIL0RjdHhIUGdmbzdRdmI0N2hVRW1J?= =?utf-8?B?eC9DRWNWOEtIaGZ4ZTc4cjZBQkdkazdtUkZsdDBCdW92Rlg1UVltSE5TT1M3?= =?utf-8?B?SGJwSlBkV2J3ellZcGhwbi80cWRiSlozRXM1bDBxOTkwclJGMVZ0bWgwRjBZ?= =?utf-8?B?RDFpZGRVaVVJMGdCTDZNdjA0Z0tpSW9YZnBMZno2ZEVDK2UrODZNbklZWXdY?= =?utf-8?B?NUgzY0tFWkt6OWR5V0FreFBJejFEYnBHODBlbmFGUzFoa2JRcG1mLzhSY3Js?= =?utf-8?B?MVl0cm52MjczNlBWZDUybW9pZ2pOZkppMFNla2xTS3pKZFExY28yZmthR3I1?= =?utf-8?B?MnBUWDBja1VwQ2RjUm8vc1Q2NTA1d3FCS3dEWE5Bb0o1THlaM0RTL2dBOXNZ?= =?utf-8?B?VTU4L1ZPc3NPMHVhaWgzUWFFQTJLR2dNYTJ1NGthMzlFaC9xRUk3TXV0TVRL?= =?utf-8?B?T2V6Vzl6cFUySTcyTVlFblFmemRnS3RnNFVsOENrTS9uc1MvRUVpNkxHUnlo?= =?utf-8?B?N3FkZ0ZISWgxVlFkaEFHVmlKa0VXTTBhTTRqSnF6VFAvaTdsUFVpVUJoOXB5?= =?utf-8?B?OVFSNnpoSytGVUo0WXpKOXpVLzN3am41OHNZQUx3MS8wNzJmNnlPQ2FBYyth?= =?utf-8?B?cUZ5cDJVMDNyd0ZHemNMRTBoOWFTMUhrUTlLejZUN1V2ZU1UTWNwNG5kNkxD?= =?utf-8?B?bVdwR1YrQnk0UlZ1M1E0U3dSMFVsUHcvZnVYRitsVlZhOFNLNVlCVkZYWkVp?= =?utf-8?B?Z3NrSXpneGN4NFNJZ25aQy9SSmNsT2h6aG5wUy9tTFlCU2hKRjdQSWg1NXFG?= =?utf-8?B?Z1VaM1NCWTd5NUJ0cWxSTXhtWGNvNzJsNWxWR1gzdmpDM0RIMXNtdWtMa2Vs?= =?utf-8?B?aWFObmx2S3BUVGR2dnJES0pyN09sQk5oSWlnU3BLampqTkZyTEpjWkR6bXpP?= =?utf-8?B?UHR4QkczSFV2QThDcmVJNUVpQ1hXMlF3RUhqSUlMcVYvaTUvWDk3OHdXa0d2?= =?utf-8?B?SFpQS05pbjlqZ3ZvbEVyMjVWUUcwWG05cG5sRUZ6RHVuNG11NTNFYkh5YXA1?= =?utf-8?B?MWNpV2NIcVdxckVlSmtPSHIvOHhvVDFmaVo2bE4xVUZuK0hkWHZSd01lM1po?= =?utf-8?B?b2pGSHlkR3VEbUVmSWd3d0pTM0w2b2Q5a2c5VWRFVXN2enlHR3dGV0VUZlkx?= =?utf-8?B?VHVyaGlMZUgxSGdUQ1FYVDRlNzNhWmNGMFk4M2tuaFc4c29PT3BpWU9xWkt2?= =?utf-8?B?NzNDN1YxWTBCUHZtWE5FbVhFSkhOdHBLSDFYS3JMcHRtT0xCRzFlR2NxaEpi?= =?utf-8?B?UEY2ZXRrQUpNd08vNk1ndkQreXA5cUI1V2kremJQQkRxR3h1T1JsMkJkcldU?= =?utf-8?B?MFN2bXpiZk1ES0ozSFF5aUNnOC9aamY1L2gwTm1YYTJXa081a3BTMW1RQkRI?= =?utf-8?Q?2gqDVhaW5nn6i9Kuy/GDhgk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8948.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QlZlNjlhSS9qVG5QeW4xRytuaURPcmMrRURocStJemxIV3N6R3U1S2hiZlhW?= =?utf-8?B?UmVnRTJ3SG8rc05FSWcyeUs0YktUNzMxbWQxY3p0ckVLQjZpMi9Ob3NxWGE3?= =?utf-8?B?K1h3RkdWb2xyaXlGeEtRR2Ftak1NLzBES3BHOUU0QjNOWDFPNVkza2FvWWl3?= =?utf-8?B?NUN3VHRwQ3FOR1o2Vm5MRFJPSnJITkdIUStuM1dwbUpramVibTNNcDRjNFRS?= =?utf-8?B?TjlCcjBxYWRwbWw5b3hiWWdOSlBhTHl6MEh1V2N6eGRkQ2FSTUNSbzZ6SXB0?= =?utf-8?B?eDZYWEZSU2dZWDRuSGl1d1VCeTJtVmJkVldGbGIrdTdFajVibWVRNTIvU0xI?= =?utf-8?B?eHVrWmVLZ1hHZ2xpTXpuTEZLQjRVOEhkUWlScGR2R0F1amZ5TlJhbml3b0Ro?= =?utf-8?B?V1dTM2xBKy9FbzlWdmJHRVk4cVlOcS9NT2Z6eldpSU9BT2dGSWRBcE5WTlN0?= =?utf-8?B?RFZzZ2RxVlkxbnVrdTJFWVBNRFhtSE0rMVYrdUZtOGNyTENlRlVicjVaem5E?= =?utf-8?B?QjlRNjQ0T2FiQjRTWnBjR2l5d3lEWTgreERSZGppYmp3cWhEKzBPRkZIekRw?= =?utf-8?B?RW1GRVNJZlBwSm5sOXlRbklZWVNqZEZsZklCdFhwdkQ0am1BZWcwc0Y2SEw3?= =?utf-8?B?emZOZnBVVGJxQmtuZ3FORk9VeW5sZ0t5d3lOOS9IRk1yR3NFV2NESTdJQTNG?= =?utf-8?B?a1lJVEVkdGROc01EL3p1V0tFd2V0U2JzMWxKc1daY1paSEI0M2FNZllqMmlN?= =?utf-8?B?N2ZsaUplL1h3YXJiRHRQMEdnYmNCazg3YmNwWUx6Sm9tYlNKSDV0V3VmdUNK?= =?utf-8?B?UGxrQ3dCT3p4ZkhjR0JCRHVQSHNTaGVOUVpieXJNTFN1VitrcEd5aXBJVEYr?= =?utf-8?B?YnA0WVArTkprM2M4L3Q4L2ZUZFgzczhJeEtJMlBLZVBYSU0veUZXNWt5TEIz?= =?utf-8?B?dXIydkZSL2xKb1E3azRQZVc2dlRnenBEQ21OSDN5OW84dUxZSHkyQWdXbElY?= =?utf-8?B?dkxHMnJwRUVzenhlY0F3bUVacXoyNTZoeHhIWFIxVU11c0lIWXZHenpXK21H?= =?utf-8?B?OXVNdTRZVnVmaDZjR0pSbzczNHA2WDNPb3NtZ3JjVzFRSXE1alROTm5XUCth?= =?utf-8?B?VDF2YnJvd0N4dDNWOGVKVmFnN0RtNUxmYlo2by95TkszMURlSE1VTWl6NkhP?= =?utf-8?B?TCtrTlZ0NzJSNmVUc2VDZmFRZkpMZXRPVDRXQVU2WUNhZzRNUG9NRDVsbExi?= =?utf-8?B?bmh6ZmpTc2xNSFUrajIzenQ2Ykx2YkJ4Y291czVEbk5nTUNUQWtsQjMxZHhy?= =?utf-8?B?dCtlemwxclNLMlpFN3dOMTFtRVNVL0w2TStFRytBWGkxVm9yWVBQRGdCQ1A2?= =?utf-8?B?QkNnck90aC9Xd3NjaEFhT01tV1RGWkZGRDJtbDZhQnp0MWREQmV4LytUcjRU?= =?utf-8?B?RkN3bmFFaUJUQktadU1PazliMnBON2lxK0Jac083UXNhdmoyRzVjWlkzRE5y?= =?utf-8?B?eDRscCsvc1VnUGUxVUs3WTd6ZjBmUCtKeVkxa1BIV3NTelIzREF1OWNTWmZy?= =?utf-8?B?ckxlNDFVUEVZbWlkc0ZXNDh2RDN3NTZxOGJyYjNMSnVQeWxCalBOMFhKWlN6?= =?utf-8?B?Slc1eXlHM29BMExySlltNENUdHYxaWprU3hTMXZ2R013RnFXU0lyNEc0UVFY?= =?utf-8?B?L3dGRGNHS3pzby9RcG1tcDlraFhEQjlvL0Q2bkJqa2RGNm13di91K0hmeHFG?= =?utf-8?B?ZEtGbUhXVkhlTitpYWI5aFZvc0c4SFMyaWlpNnk2QTBTNkFTV3ZyMkppVUV6?= =?utf-8?B?c1VhSDRtT2VzQXhRUFU2RUFjdE5tdStoZUhMeHF6ekZRelROaTcyMHNuZExn?= =?utf-8?B?clh1TnNNZFF3UGJaT25zaEM5NGV4VDVEK09qWlU5OFhBQ0gwMGJQWCtJVW5O?= =?utf-8?B?M1FzM3hoTkNWMXEwa1RodnBSQUdWN3JDVUh5c3RwL1lnN2NIMHdBcWphK2Rj?= =?utf-8?B?VHRuM2tjYVhRam9qMVhHTFc0UHRnK2dERlo3aVBnblRVY2tycUt3WWd0ZVVy?= =?utf-8?B?Uy9JN3h0UG1wQ0F2SDVoSkttbjJaeUFyT2thdzFDQjJJMHFSa2lpdHB3d0Fr?= =?utf-8?B?MVpqQzRsYVdQRDNEckVFanAwSTRwSHZoOWc2dHcxVmJvSjhvRExKTXVLSXNL?= =?utf-8?B?Z2Rkc25ObFgzaVE2L1JNMGVwa3A3bnI5Rm5TbkdIMTVTVXViMzZoQTZSUzA4?= =?utf-8?B?eEYvTE03MFhDMkQzL0s2Nk1ZSDE4ZnRMR2QzRFk0d29lZXFaUFFFMTNlUkVs?= =?utf-8?B?L04vdlg0cFBNN1JoajlWMW9tblJLTHV4YjFOVlFqdDV1d1RCRHg1QT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17a6119f-e078-4a44-f0e5-08de53903aff X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8948.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 17:13:26.4762 (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: tq09AU2YZeGi/3YFnLY8xdVwG7Cvy5D49LYb2bEa/JmabHJ6IPPvlGTzu1Vk04+oAzx4koBN1g7fcOcKX/GHNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB12155 Use common dma_slave_get_cfg() to simple code. No functional change. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 61 ++++++++++++++++++---------------------= ---- 1 file changed, 26 insertions(+), 35 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 33fc4fa8d1302d899ce550b0ce5d4325fa2e3916..c4ac63d9612ce9f1f5826a21869= 38a785ed529d1 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -291,30 +291,32 @@ static void fsl_edma_unprep_slave_dma(struct fsl_edma= _chan *fsl_chan) fsl_chan->dma_dir =3D DMA_NONE; } =20 +static enum dma_data_direction +fsl_dma_dir_trans_to_data(enum dma_transfer_direction dir) +{ + if (dir =3D=3D DMA_MEM_TO_DEV) + return DMA_FROM_DEVICE; + + if (dir =3D=3D DMA_DEV_TO_MEM) + return DMA_TO_DEVICE; + + return DMA_NONE; +} + static bool fsl_edma_prep_slave_dma(struct fsl_edma_chan *fsl_chan, enum dma_transfer_direction dir) { struct dma_slave_config *cfg =3D &fsl_chan->vchan.chan.config; + struct dma_slave_cfg *c =3D dma_slave_get_cfg(cfg, dir); struct device *dev =3D fsl_chan->vchan.chan.device->dev; enum dma_data_direction dma_dir; phys_addr_t addr =3D 0; u32 size =3D 0; =20 - switch (dir) { - case DMA_MEM_TO_DEV: - dma_dir =3D DMA_FROM_DEVICE; - addr =3D cfg->dst_addr; - size =3D cfg->dst_maxburst; - break; - case DMA_DEV_TO_MEM: - dma_dir =3D DMA_TO_DEVICE; - addr =3D cfg->src_addr; - size =3D cfg->src_maxburst; - break; - default: - dma_dir =3D DMA_NONE; - break; - } + dma_dir =3D fsl_dma_dir_trans_to_data(dir); + + addr =3D c->addr; + size =3D c->maxburst; =20 /* Already mapped for this config? */ if (fsl_chan->dma_dir =3D=3D dma_dir) @@ -484,6 +486,7 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, bool disable_req, bool enable_sg) { struct dma_slave_config *cfg =3D &fsl_chan->vchan.chan.config; + struct dma_slave_cfg *c =3D dma_slave_get_cfg(cfg, cfg->direction); u32 burst =3D 0; u16 csr =3D 0; =20 @@ -507,26 +510,14 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, * If we don't have either of those, will use a major loop reading from a= ddr * nbytes (29bits). */ - if (cfg->direction =3D=3D DMA_MEM_TO_DEV) { - if (fsl_chan->is_multi_fifo) - burst =3D cfg->dst_maxburst * 4; - if (cfg->dst_port_window_size) - burst =3D cfg->dst_port_window_size * cfg->dst_addr_width; - if (burst) { - nbytes |=3D EDMA_V3_TCD_NBYTES_MLOFF(-burst); - nbytes |=3D EDMA_V3_TCD_NBYTES_DMLOE; - nbytes &=3D ~EDMA_V3_TCD_NBYTES_SMLOE; - } - } else { - if (fsl_chan->is_multi_fifo) - burst =3D cfg->src_maxburst * 4; - if (cfg->src_port_window_size) - burst =3D cfg->src_port_window_size * cfg->src_addr_width; - if (burst) { - nbytes |=3D EDMA_V3_TCD_NBYTES_MLOFF(-burst); - nbytes |=3D EDMA_V3_TCD_NBYTES_SMLOE; - nbytes &=3D ~EDMA_V3_TCD_NBYTES_DMLOE; - } + if (fsl_chan->is_multi_fifo) + burst =3D c->maxburst * 4; + if (c->port_window_size) + burst =3D c->port_window_size * c->addr_width; + if (burst) { + nbytes |=3D EDMA_V3_TCD_NBYTES_MLOFF(-burst); + nbytes |=3D EDMA_V3_TCD_NBYTES_DMLOE; + nbytes &=3D ~EDMA_V3_TCD_NBYTES_SMLOE; } =20 fsl_edma_set_tcd_to_le(fsl_chan, tcd, nbytes, nbytes); --=20 2.34.1