From patchwork Mon Mar 4 04:32:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 209378 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1214843dyc; Sun, 3 Mar 2024 20:34:11 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVstW00o662eH0GukZYXV4pliTeQtTEYjR792kuxU2O+Kddd1dlH3haeeHqoK6vkwm4YkknShdVPf0WK6TkkZ6USX6YqA== X-Google-Smtp-Source: AGHT+IHlVT4klnSqN4uNhp9d+tptqrVfdyV6+Vf8SwFIRudOL8TEX2jYIhqf7XPH2N9+Jd6NdeS9 X-Received: by 2002:a05:6358:70b:b0:17b:5c81:839e with SMTP id e11-20020a056358070b00b0017b5c81839emr9633021rwj.7.1709526850718; Sun, 03 Mar 2024 20:34:10 -0800 (PST) Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id 36-20020a631064000000b005e2b0672449si7712014pgq.27.2024.03.03.20.34.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Mar 2024 20:34:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90039-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="I+wXN/F0"; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-90039-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90039-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7906F281414 for ; Mon, 4 Mar 2024 04:34:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A23EB652; Mon, 4 Mar 2024 04:33:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="I+wXN/F0" Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2086.outbound.protection.outlook.com [40.107.241.86]) (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 CEDA8611A; Mon, 4 Mar 2024 04:33:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526817; cv=fail; b=gT5BqVwhoXa/1lsxpYIqlP451sJLzPIBCNlwrPBP8QLgrACFt/IHjO55LtYgorkTDmZsz33/iLY8QlE9aEou/vP6uCJjC5CtaiRHTOjo3ykCbY9Fd7Bts//Q037d706p/mEcdMa1okBxsUjJ/ToHXXX7VHtZN/e11tswxdf6jO0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526817; c=relaxed/simple; bh=LtHUazjr0YcoFnd2yodcTE4F4soI1P5M3PcQ5fD7GY8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=alRoxUXEAjYMTq3Kp668GXABskyxrb2OgLFJg7apUUOGIIfWWCUbpY4OHA/qrSJz6aQdTOu8wsXEjPUbF0LCreCEUQyjMm/2iqHVnFgG/w2ZSWKpDrDv3DSYPmFT5T7J6ol2HhfJjCM9hwnWRp7IU5tnJbnAmvzM/FrTUYllfLw= 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=I+wXN/F0; arc=fail smtp.client-ip=40.107.241.86 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g9I9TkgVLuDiSrS68IJmzi40fqeEl84xXv1ccO0pkAKd+Sv5SuPU+eQPlDUXs1u1t7Gj0tvxBrZBT1cGc/s04LYwHAHPInjEPCpHPrBYIx838+UM1PGlr1GNl5E2/U3ajM9o8Xcfl+Js0/sqKBITyUy6mEh5e6OlsOM9CV/xVKCDluW8BLUJleCmui+MksRLxkEPflezrOo9aoXzG/Q9pDPLc9Kuse6WM3U2B+pp6VJ0g6rdUixfGjy4Az9x0du92eQZoU6WpV2zBjdKEKg4cwopTfgqjUGPeVD5Jlnd5dwt3pbJlWiRi3gyHBK9EI2psrpQz3gbbShrh+XQ7Obsbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=1aIWq/1kZeSgYf3TtWCAY+gm9WZIIQGWBlVHSvc3x6Q=; b=Eao5O8L7UIxV76YAYMlO7wFEtvPG8KKAJ1USzS8kZ96i54tEBjVGJI5gpvqLuCQy5J7dCQuKC0bQ8WWxjtQJwgd3L+OURhXI0kLkNns9QyCLS56cFZboAzJSXqlRDXVrYnExIckiEQe+0zGhHXmePfREXVO1OtyluVZPuODh96Pd1GivbFfg0xffgjW0DqsuwDM65cebNqcfMKxKgOMWeGhYQw80E9Nn+tBYSpsYfspeGHFRt3RKtCnka9Kgh9raTcBBr72xzmiHc2wFSaG37BWgxcNGHwul6LHarSF3T7e7z/zvpHfty7FaLv7lNWjMNZov+nJDYm67xa58ms5zLQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1aIWq/1kZeSgYf3TtWCAY+gm9WZIIQGWBlVHSvc3x6Q=; b=I+wXN/F0m9ofsEWfrWCF2QMos+ZzJzDn8DWY+aGS7TRzjFY/x1Of9g5JC88YJwwxOnhKnAHOhYBBtVltjPEgxUe2XV+ENyTkNYZOFsfQ4KQjV0ybtxBB9/Df8O9LDPId5APcPr1ahQQUBx/cgVzMB7ojo4+5pVFSFL59bkZGCfk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DB9PR04MB8234.eurprd04.prod.outlook.com (2603:10a6:10:25d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Mon, 4 Mar 2024 04:33:32 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6%3]) with mapi id 15.20.7339.033; Mon, 4 Mar 2024 04:33:32 +0000 From: Frank Li Date: Sun, 03 Mar 2024 23:32:53 -0500 Subject: [PATCH 1/4] dmaengine: imx-sdma: Support allocate memory from internal SRAM (iram) Message-Id: <20240303-sdma_upstream-v1-1-869cd0165b09@nxp.com> References: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> In-Reply-To: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team Cc: dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, Frank Li , Nicolin Chen , Shengjiu Wang , Joy Zou X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709526805; l=5365; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=53Xk3qLZ0MDANtYpN97MLpC1fd2Mr/1t+Y7ahd5P1V0=; b=IIY16/obeaotxWYvtwhO0RJug4DtDSoeYNbIoYit4Aev+ps2kL5vWuQLl5f87AQ1/+RNn9gI2 m7j2bsCSEBeAdX3N8bfMEuErdX3aUhDafPCFarcYN2LFh6h8jyxS45+ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR01CA0040.prod.exchangelabs.com (2603:10b6:a03:94::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) 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: PAXPR04MB9642:EE_|DB9PR04MB8234:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c06f30a-ed89-46a0-9222-08dc3c043fae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dhQ57kNj3/l4wE9mvbh/xu1p8rXMNUjSX0HUfOI7K911IKLcAQ9nFaDx71/1IeGDA/9rqDaNIsh1q982zk3rT1n4dzjaAx7pMqxAx+rTggXoDPvA1iZ/BZfzUl8XZ6m5rsTb3PFoWFbA2NyF8fnmAUEnlIBj8BkluvL8xVgZ0ZZNff/ZRZCJq0bYkofs86ds5b8k3gn6tABrYoObrJ9Uupq/H9VKU85pCGwLdU13I6M0kmJs4tu8ABCRWKhLnLFsKpoWgtMXgLUlesaxYXaBlwnUYKvTtFzjR/RVM/4CKw9b+JDFwox8SDCnCWDfBf8ZFEX8iFHpjl2akRXtKV6eVWnFEA3DXHJq4vFz8MOGaG5zMAJhv66BH5l+tDO6mT9J8mm0Xwc/ek9lysyXv3SOTGa7DE5XFx0XZIOl02xejJIFpr36hFwGejFBBi+UI42ZNkguhnjkXIe2yO3Dvffm93JFLVnyaeOHPNrSEpgCd41LozvtAwW55+4iZYYr5Qsamy+E1NBcVo2uOyFQM4YmJc0MDL1pJgsdNHy1wh7j2DUrY/ULd5ccBSoOYEz9F+KnDA7OMigZ45Rgx67CshygioOsowRlQOXBNbdAdkd838CJoqnsI8kkydY6eOyPxJueXmR1UlEWwxXBZlrlK8XMELgpKTd7vnwpdS4BPJw1rAMod9OIzPbq3qlqYUrZLgq7UbVyc3NYaofQC7iSFWjoeaCM2NPLYbDSPxJPYycexN8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?sBUlw/iNPejRLZxadhfgEjoKob/F?= =?utf-8?q?AyumITzewjAdL13jR5Qys6frEy6jJED1kqI8OoCqOg7Udg5wKDSk7of+WrUwDG41M?= =?utf-8?q?ncYBvb+TFbJjrMJEYWgrvomPsKynS4DQiPTE/83P8l/NTQKLrOzBAPQwUofULeJP4?= =?utf-8?q?TqxGyaq6k3oVsDFAnDOSHMWmHVw2T+NyrhPQQAW6dT12f6uRpsDj8PlT+jIE+dglz?= =?utf-8?q?/gA5V+XY81U1Nv6WyXs34W6JnlyTXvfGg7rIPcDg7BQ6Zp2HLful70N2QIb7Kqp/Q?= =?utf-8?q?pZIi+4g/G58VgQlVaVfSP9iHb4bBCUNQjQFa311Ph3WzoI9f3MHyDJGZnmn1nSGHq?= =?utf-8?q?vAkK5aJmfZtI+Q/XtdrFO/53lqCB6+hC0Sd97M8cjq0k9MiMTfMmHifjrAkvRIA0Q?= =?utf-8?q?17sx4yGQDX1LBp5jIMk94LshEVmugRYptD7J9xmDyZLeHE7Qmjj7sQ7+vrs6JLUay?= =?utf-8?q?PL4EtT4/YV629hixwoD1H2jK+wP2Oyo3yUWGqR1ELFhT4YD6Ucr1VQURZn0crR19R?= =?utf-8?q?un7EOzP4ag+fvtmRX6Tu2HJb/liHugxVX6nXok9Sd2UTtizvyOp5fGBBCAzv/9pTo?= =?utf-8?q?EvIesZc089F8l9qNNTdBokDn620G0nvTaFYL6PQWyMpziqYnxwF/yy+dVHPYpE16Q?= =?utf-8?q?VT/SwPlYjrUPRZYKEYWOCBMpoTDL7Yw+sBR5rK4bW4TiudJis7RnN/9+AOBAP8zIn?= =?utf-8?q?RnxOdH/tkh/DXXY7oSGg6K2Ld7VT8ZULDdZHNVgyLwod/4PdyITqScm46411FI0Il?= =?utf-8?q?greqFMy/m7T3wG/B7N+lJ7XRM7Kjo7K9MM7SZXHwyR3NfVwEJ7lIJghi/c90NPdj2?= =?utf-8?q?GUV3fQTQ3swlvxiafmx9XIqCqohiCSA/QynExdHyXPao1eSJV4IrVL97z+f95g4zQ?= =?utf-8?q?muK+h8g2xUgl3tQ3MdSVLamijXEkOsc30tECpBiagAz0l6tIITPKwETsa+Dl0xpB0?= =?utf-8?q?4chgxqGebGqLd0eAQ70X7wFt58DDV+YGBP0m6v/GqufQbW45Qh59Fsstp999l6uc3?= =?utf-8?q?g6oqv0XweM6cNI4TJMhgw6daN94rQvHlX0N0CE/XVFDj41mZoe6fRru1BwgH36hFF?= =?utf-8?q?OlviXZZc5ngJA1LhiYYcFhP+/9vGbr3T0X52LCMK6Txghd5rKtQ0nAcxcqTdeygLm?= =?utf-8?q?ZSYIWgAGPsu6J7AO8xz8vitxb81LzgLbWUemKDi9u0OYyE4wl1uoNwFVXKLouUQA0?= =?utf-8?q?N3slTvXXfiQK5/ManykIndJlmxg4WMu8ejUVHtGgBEVZhiw79/N6gWCjdLgaowzS3?= =?utf-8?q?K64lRjxqpHiSkjP3FBOc10D5iWQC7p2qbJAodAXOfnzUy6QMDUrJEYnlwTKO8dPPp?= =?utf-8?q?VnlHFwrQsngTsw93kuDn3BrPuH8kJTEBR7Aqg173iUcU8MUgkrBFpLe6jFLjGD4fG?= =?utf-8?q?1wowfcjdbnT9b5nUuG8GourdvPRLFQOqUCqyegZYGWFErSDly0rV5S9Pg0yXls2im?= =?utf-8?q?VbcnPy0mZ6724UgPYBg4+a5NKjjbRJ5WbkxCPoRA1cJAmkro8eh570bh1IZ01NU8p?= =?utf-8?q?M04cywKoTcSm?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c06f30a-ed89-46a0-9222-08dc3c043fae X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2024 04:33:32.6432 (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: +Rf34KZ85aq60n3DVYEqru+pTAT1ODS1fOBfEJFj2B6MiHoHkswC0vPm1zssynXW6pIs8R0AmfjmcE5m85vGkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8234 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792568827036699187 X-GMAIL-MSGID: 1792568827036699187 From: Nicolin Chen Allocate memory from SoC internal SRAM to reduce DDR access and keep DDR in lower power state (such as self-referesh) longer. Check iram_pool before sdma_init() so that ccb/context could be allocated from iram because DDR maybe in self-referesh in lower power audio case while sdma still running. Reviewed-by: Shengjiu Wang Signed-off-by: Nicolin Chen Signed-off-by: Joy Zou Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 53 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9b42f5e96b1e0..9a6d8f1e9ff63 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -516,6 +517,7 @@ struct sdma_engine { void __iomem *regs; struct sdma_context_data *context; dma_addr_t context_phys; + dma_addr_t ccb_phys; struct dma_device dma_device; struct clk *clk_ipg; struct clk *clk_ahb; @@ -531,6 +533,7 @@ struct sdma_engine { /* clock ratio for AHB:SDMA core. 1:1 is 1, 2:1 is 0*/ bool clk_ratio; bool fw_loaded; + struct gen_pool *iram_pool; }; static int sdma_config_write(struct dma_chan *chan, @@ -1358,8 +1361,14 @@ static int sdma_request_channel0(struct sdma_engine *sdma) { int ret = -EBUSY; - sdma->bd0 = dma_alloc_coherent(sdma->dev, PAGE_SIZE, &sdma->bd0_phys, - GFP_NOWAIT); + if (sdma->iram_pool) + sdma->bd0 = gen_pool_dma_alloc(sdma->iram_pool, + sizeof(struct sdma_buffer_descriptor), + &sdma->bd0_phys); + else + sdma->bd0 = dma_alloc_coherent(sdma->dev, + sizeof(struct sdma_buffer_descriptor), + &sdma->bd0_phys, GFP_NOWAIT); if (!sdma->bd0) { ret = -ENOMEM; goto out; @@ -1379,10 +1388,14 @@ static int sdma_request_channel0(struct sdma_engine *sdma) static int sdma_alloc_bd(struct sdma_desc *desc) { u32 bd_size = desc->num_bd * sizeof(struct sdma_buffer_descriptor); + struct sdma_engine *sdma = desc->sdmac->sdma; int ret = 0; - desc->bd = dma_alloc_coherent(desc->sdmac->sdma->dev, bd_size, - &desc->bd_phys, GFP_NOWAIT); + if (sdma->iram_pool) + desc->bd = gen_pool_dma_alloc(sdma->iram_pool, bd_size, &desc->bd_phys); + else + desc->bd = dma_alloc_coherent(sdma->dev, bd_size, &desc->bd_phys, GFP_NOWAIT); + if (!desc->bd) { ret = -ENOMEM; goto out; @@ -1394,9 +1407,12 @@ static int sdma_alloc_bd(struct sdma_desc *desc) static void sdma_free_bd(struct sdma_desc *desc) { u32 bd_size = desc->num_bd * sizeof(struct sdma_buffer_descriptor); + struct sdma_engine *sdma = desc->sdmac->sdma; - dma_free_coherent(desc->sdmac->sdma->dev, bd_size, desc->bd, - desc->bd_phys); + if (sdma->iram_pool) + gen_pool_free(sdma->iram_pool, (unsigned long)desc->bd, bd_size); + else + dma_free_coherent(desc->sdmac->sdma->dev, bd_size, desc->bd, desc->bd_phys); } static void sdma_desc_free(struct virt_dma_desc *vd) @@ -2066,8 +2082,8 @@ static int sdma_get_firmware(struct sdma_engine *sdma, static int sdma_init(struct sdma_engine *sdma) { + int ccbsize; int i, ret; - dma_addr_t ccb_phys; ret = clk_enable(sdma->clk_ipg); if (ret) @@ -2083,10 +2099,15 @@ static int sdma_init(struct sdma_engine *sdma) /* Be sure SDMA has not started yet */ writel_relaxed(0, sdma->regs + SDMA_H_C0PTR); - sdma->channel_control = dma_alloc_coherent(sdma->dev, - MAX_DMA_CHANNELS * sizeof(struct sdma_channel_control) + - sizeof(struct sdma_context_data), - &ccb_phys, GFP_KERNEL); + ccbsize = MAX_DMA_CHANNELS * (sizeof(struct sdma_channel_control) + + sizeof(struct sdma_context_data)); + + if (sdma->iram_pool) + sdma->channel_control = gen_pool_dma_alloc(sdma->iram_pool, + ccbsize, &sdma->ccb_phys); + else + sdma->channel_control = dma_alloc_coherent(sdma->dev, ccbsize, &sdma->ccb_phys, + GFP_KERNEL); if (!sdma->channel_control) { ret = -ENOMEM; @@ -2095,7 +2116,7 @@ static int sdma_init(struct sdma_engine *sdma) sdma->context = (void *)sdma->channel_control + MAX_DMA_CHANNELS * sizeof(struct sdma_channel_control); - sdma->context_phys = ccb_phys + + sdma->context_phys = sdma->ccb_phys + MAX_DMA_CHANNELS * sizeof(struct sdma_channel_control); /* disable all channels */ @@ -2121,7 +2142,7 @@ static int sdma_init(struct sdma_engine *sdma) else writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); - writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR); + writel_relaxed(sdma->ccb_phys, sdma->regs + SDMA_H_C0PTR); /* Initializes channel's priorities */ sdma_set_channel_priority(&sdma->channel[0], 7); @@ -2272,6 +2293,12 @@ static int sdma_probe(struct platform_device *pdev) vchan_init(&sdmac->vc, &sdma->dma_device); } + if (np) { + sdma->iram_pool = of_gen_pool_get(np, "iram", 0); + if (sdma->iram_pool) + dev_info(&pdev->dev, "alloc bd from iram.\n"); + } + ret = sdma_init(sdma); if (ret) goto err_init; From patchwork Mon Mar 4 04:32:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 209379 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1214897dyc; Sun, 3 Mar 2024 20:34:24 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWyXOr1Wu9ryzMw37LLBNau3ajSW7gdMH44KIuvhRro4DZV/aREiKQgIeo4CUghl9gu/fAEgTlpgzypxQ9gcR7Kp3lhhQ== X-Google-Smtp-Source: AGHT+IGw7xpUK0g8XxWxHzHf74dGsoxPjO814A0I5L9WB+tsA4gZwjBUjt5hM/IWmnsUpjEofMnv X-Received: by 2002:a05:6402:5c7:b0:566:a3ab:8439 with SMTP id n7-20020a05640205c700b00566a3ab8439mr6257936edx.31.1709526864110; Sun, 03 Mar 2024 20:34:24 -0800 (PST) Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id g3-20020a0564021ec300b0056766365c44si52298edg.256.2024.03.03.20.34.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Mar 2024 20:34:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90040-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=bTP6wDB+; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-90040-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90040-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 8DF391F2150A for ; Mon, 4 Mar 2024 04:34:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E5F6A8C1E; Mon, 4 Mar 2024 04:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="bTP6wDB+" Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2086.outbound.protection.outlook.com [40.107.241.86]) (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 3B9B57499; Mon, 4 Mar 2024 04:33:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526820; cv=fail; b=s10KgC+DNLGK5GyRK90aSXmrFP5Hf/Gq3qoGFP38SpgC5A+WeQcKeICeNUN/gztCUqbawN0WtHISoA+zLrBSjThEg6K6KxySirzCDBGttWc1gt64B4bc44KcSGHEKXTS4Gd01dvtMhDPhQQ6ZWyp2kswtddK+JGuo3eXTcxzwjQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526820; c=relaxed/simple; bh=RpOrgfVsXIv/QMUY+ZIbeIb+iq/aT+b++LFSWi+q8Rs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Li9mnyvATOLmTJtoM1Pc5d1DTV64ant92cqnFtiGAw4BCTNq7m3uM8fU89VdVKZ3poxZx4S2v91PxrkOqIEOfQNaz4uiz4xSK5AOZJnfDg1FBfpGamYez/z1S6GNGqMEEa/RAZI8demWteTX+gWGmMedgDFPlkgxaqVkaooAL9s= 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=bTP6wDB+; arc=fail smtp.client-ip=40.107.241.86 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nN+6ifDAMrdFn29dtbGOqy5sXRSou1fqWCR9ikkJayVD/E/rw9911BeA3wg995PpCv3YoivS6Dkb4Dh6A7javzrmqDGDCe3hMmuiFZ3XjcSDslwYuOrMZp4PIm/3oRKvU6+8vEG5ZYVACjKUHIdhVh8hQ/XfaV0OeziOd2GEEPCvgiotcA3zsbtb4/XHN8BsPllOul5MGHXoGHBv/OoVphFOmId6CPXCP9HH9Tv6hVaMjyF5omcuMMjjpO8DfpGXqzB1Koy1CynB7ZhFDxNqDcuwxbMqhck2Wlnm12Bx3ZJTzUvX76Gg7cTfXnuFe1xgRE+X2Dxj7H0LSwVuiy0gjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=c2EJXTbBV9/6Y4fPv3TuChxYcIeHEADlNvS5YYhKj30=; b=PEx2bKC2VNTxWkSGlsuqac/3Hc4ihWo7iWCpUs8+ErK/qwjR2W2BuLtvQsNvL/Fb4bB5FPeHvPROB3yKsdeVLw4yoNa4PDY15909QvV8x/TdIryqytkCPrEbIvF789wEKTDTllhduAVXwG+UYM2DSvCU9Q8epoIFInD2Pj2CMv534v8Gz2ZxMjJ91Yk/mSVXTL7ArEDGkvp51zVpn5O66AAC3RcXBCi2az80+ZyC6AupYev8KgMvfHuw62kyoh1nyCgKk70SCpu6FOJI9cdXsp7ZREYn+TCqH/eoaShdflyuCJDG5TDhWlb9LhIeOYQwUuZIQoaosX+QKyzIoDtVuQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c2EJXTbBV9/6Y4fPv3TuChxYcIeHEADlNvS5YYhKj30=; b=bTP6wDB+B6JdYJws/7/hM51EzcjApF3Coa8IB+B2+Hmt19PqnFl4UUemoo0pWTHXxDimVVLU+oDdz9pPTKwmxeLR85oolVmfiA88lErWpqZOTLdAaXH5qY34S8W7KbXaLLGVKgfgsVcKpUOLNA335wxboxOy0j0PilQ9l6LPrNw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DB9PR04MB8234.eurprd04.prod.outlook.com (2603:10a6:10:25d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Mon, 4 Mar 2024 04:33:36 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6%3]) with mapi id 15.20.7339.033; Mon, 4 Mar 2024 04:33:36 +0000 From: Frank Li Date: Sun, 03 Mar 2024 23:32:54 -0500 Subject: [PATCH 2/4] dmaengine: imx-sdma: Support 24bit/3bytes for sg mode Message-Id: <20240303-sdma_upstream-v1-2-869cd0165b09@nxp.com> References: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> In-Reply-To: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team Cc: dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, Frank Li , Shengjiu Wang , Vipul Kumar , Srikanth Krishnakar , Robin Gong X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709526805; l=1187; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=hUhj6XhOGDMEIuRxw9GM1hd9T+mXOn/iwu0f8U1eEWA=; b=Cz6ZQYNnrY773ojOsOBGVOI+wHg5Z2kx2WOaN/X0gojKM+FtpIV4qXayZjB2OXp5FWBcxrO6l ZKeKcrGhmEaBvVCJbHWEnYx9jsozxk6tk6qRu+mEt0bXM0gRcfxrgul X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR01CA0040.prod.exchangelabs.com (2603:10b6:a03:94::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) 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: PAXPR04MB9642:EE_|DB9PR04MB8234:EE_ X-MS-Office365-Filtering-Correlation-Id: 4556703f-c102-4c1f-cb52-08dc3c0441f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HCLxZ0ENn4M8rKDkyD2Iq08R3wnYU3GUHe/9W4bA1hiKVXERvetdP9P+rgZyp3bfxtuHJu+P+/JjDZTgdFilv1nUBQntrT9v10MM2UpkGUSASIYTZ/PwQeSHmvmaaX2MsPI6jgIMmzuRzNFtLifAZkS75bCkoJ070XB/AoToIUIqlw8OAOxDzSgTpXaBkKI/YOsQEGw3tNwEl14LZsJxbsYgZ5M1FMXXrq610An+s/wpC3dsdu19tdOohrJ15kOtYT2VQ/d7hwoo3S7mzo7TjWrq+UYRFRrP0hKJYwRars0Kuwd6LVDV5Iy4Vj0u+o+ZNMzIxMylJV6yHs74yhPR2CKqsJ8E+ZTKQwbzPIccriE4/M3E2kgrHr7D0PE5vrIIsUJeRm6s8ce7CgYE3kPdEHFQF0oslo20HWoSsRXLyd3YrPy6CaMKzMUD49jlMbR7DSUR9EujHaNPNw9HWeXTqKaJufac0xeHq1dQSW9OwUnjpE/UvbPkBRW2mPZrDRAT2mLi4Uj7k+bwypFdqo6umo4uwbc5UnkEjvcJHZRqxuCcy1pOMUtwpkRsD+gYts1YKJPZV5S58dxiNOZPE6owDSzOEcRdrXj8Bj8Tt9YsUNfxY9lKmXQQEcdaJEzSwKj57COgDWGlpEFfmy8Cf97oFIqrW+wdktYqHGaDzkOdmRcnnN5o6lvmomYrUSPe+gpGyVqEhNR0cSFjrcY6jR9K3BKnSXZLO+ic5z3qngVLYO4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?WwM9FXyyuTQKFacsrdPyzW8L9coi?= =?utf-8?q?S+Zhqdm3JbXk3ZjKAR25XXlUWsFqdr9KOd+uqj4ZIrFvZGE6JFNw43gzrOdaVl3vF?= =?utf-8?q?pkP1Th4pntLddpfCNsbO0puTl+IZVnezOG0d8YObaVTMKSqn+iWK6NobZQXFG6/wu?= =?utf-8?q?A99C1MJPM4U9QYNS7ewzFCFYRuMx/xbakDCblBhIAClVVjWk0CDF3PDLxOEFJZ7Pr?= =?utf-8?q?uakHyOZMxUecHS+3uAyW5L6K+o+TVxqJ1LqZKKvXDflzg6dWMiYHrZ3kq8NRH7EwZ?= =?utf-8?q?ApRw0+QNA2LXl81RAreOVtOTz+vx9uvX0JmbM1tBpKiM3SvyWIVT1Ilz3QPgHDUQm?= =?utf-8?q?uDqJOAamQHMo8Df3dm8t2jxdCvyQebEJkjd0LTaLrlv7Y0Q/PtEHZSlWcd4HqCBLF?= =?utf-8?q?15T92RTGxEruU8i5K+4/2Qjth5LDKNH/eMbVCYHw3k5oSEbsE6STbzke5Z6FCFJj8?= =?utf-8?q?vZ8tk6aVweMvZEdeDdD3Cka0huZpmM3oAGwntWJbBEaS6OxsVV9N17e2hl2QIGRKm?= =?utf-8?q?8JZ7uEer/hwtcBxRiinfAcrbHg4NzU/RZ6NuQu1rAFb0uP64o+knYmhraw+bg4kgO?= =?utf-8?q?oOYUKECNmtjr0tVGaPlvTfe5ZvYjQmzftYxpyzFTHOBMvtcMH/e1ZS7AdyV2VtiGm?= =?utf-8?q?txMb/kghSmUraGTJk6Q9cvGEAWLt4Qm9pZrB9wSR5KdhBLmkYVidq1ujOeXrBQ3CD?= =?utf-8?q?N1lSf5/h5c5oMTGLqkw3/EYP5IgQjOH/oxezXdnme/YZ6Mui+n87NCfhr9j073iBs?= =?utf-8?q?ChTIM0eNTTR8Soat78XFMHtvHa0E1B3fVcZ31u1UX6Wu2cOu3YgCbj5fCtelW3pPJ?= =?utf-8?q?Ns6Ruic2Lh7sH/Nny8MPSbS5hbJZ2lSAvb9V5guqqHZtV0EqovevcvohhIMhJngT4?= =?utf-8?q?OWU0ScHVggM48u+8YNUy0JUWv4T7prqMdfKbrbNputG0rj2k/TMNRXqJrTYdBHYIP?= =?utf-8?q?KfWcJAnofHTlAYKrl8WEqwxw+hmrF3yZPGGNjehVqNwdqorTfVOus5yKhSnrqYZ8G?= =?utf-8?q?irIHcHC2iIM5GCaJXOQkyimhOtWBzlqywtZ4KsjyB95+Xx4uxP/lrY1nATfkYEsrJ?= =?utf-8?q?CB5gqPwAsfhwbH3jG8yhzZWlkUdCjDf8Vwdu/FFwp02NZ8yOT6akib4LxhvU51KGI?= =?utf-8?q?ddDM79TcjJQ3vUT1u1eKsOV5RpPbWkZiyxteGeD7znjlrjH1MuJDSmFjS0pjxyfp5?= =?utf-8?q?6S/T8MSElGAluholZWllobpUW6FHaDuMb4czxPsnMdCtcoQtRwWqo7YxIzzZlvEue?= =?utf-8?q?lZe+hGWAAJde3qOc2Ryz8yqlI80pW3d/Ns/tdrOEKx3hDJt9WEwGeyfOxf4erQgo+?= =?utf-8?q?lyvbUkerTa/9eXtNIpkzQSS0b7HyCRtOBAg0TrbNrSzaF1riFeFQF85WeBFSqmjjv?= =?utf-8?q?1z7YpW2FaEOIuNAGHRtvliOL1QVBE0O70AclaUmngVXhHrBCf/si3E+bh2lGO4bAi?= =?utf-8?q?0dYjXIk26mLn8P62pGQK4i2C740HaScv/84yFWRZd9Oc0WVh8iLEelbRUi0gztVK5?= =?utf-8?q?N1jF+r/C7tVk?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4556703f-c102-4c1f-cb52-08dc3c0441f4 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2024 04:33:36.4703 (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: xDVJHN9q6TYqn0ZSrK00BwwfPGmKeTR8bpdrx0klapRIb7V8RW/dFV4+ggNuPntHTPRgUiGwpeznfNcHP1jrxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8234 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792568841121591659 X-GMAIL-MSGID: 1792568841121591659 From: Shengjiu Wang Update 3bytes buswidth that is supported by sdma. Signed-off-by: Shengjiu Wang Signed-off-by: Vipul Kumar Signed-off-by: Srikanth Krishnakar Acked-by: Robin Gong Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9a6d8f1e9ff63..ef45420485dac 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -176,6 +176,7 @@ #define SDMA_DMA_BUSWIDTHS (BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | \ BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | \ + BIT(DMA_SLAVE_BUSWIDTH_3_BYTES) | \ BIT(DMA_SLAVE_BUSWIDTH_4_BYTES)) #define SDMA_DMA_DIRECTIONS (BIT(DMA_DEV_TO_MEM) | \ @@ -1659,6 +1660,9 @@ static struct dma_async_tx_descriptor *sdma_prep_slave_sg( if (count & 3 || sg->dma_address & 3) goto err_bd_out; break; + case DMA_SLAVE_BUSWIDTH_3_BYTES: + bd->mode.command = 3; + break; case DMA_SLAVE_BUSWIDTH_2_BYTES: bd->mode.command = 2; if (count & 1 || sg->dma_address & 1) From patchwork Mon Mar 4 04:32:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 209380 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1214934dyc; Sun, 3 Mar 2024 20:34:32 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUrY1U0Tuew7a3KRgZnP9M+WaEZmnQuWflQRtN3oSbvyEU5KcWAt+b1VX2dTFHXEK3mK5PEzgVUJQ4KtpPZ1Nqtar3jnA== X-Google-Smtp-Source: AGHT+IGDljacI+SrF2sO5V3nJ16u6LaVsGRnJQBfZo1RO+lnozcFWaTh7bouFM+Th0+hM5pZNm8D X-Received: by 2002:a17:906:50c:b0:a44:deba:2e6 with SMTP id j12-20020a170906050c00b00a44deba02e6mr3094259eja.36.1709526872704; Sun, 03 Mar 2024 20:34:32 -0800 (PST) Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id t23-20020a17090616d700b00a3e73fe1ddbsi3619882ejd.649.2024.03.03.20.34.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Mar 2024 20:34:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90041-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=TQmLu4Mr; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-90041-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90041-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 2E01A1F21513 for ; Mon, 4 Mar 2024 04:34:32 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EAC0CD29E; Mon, 4 Mar 2024 04:33:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="TQmLu4Mr" Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2086.outbound.protection.outlook.com [40.107.241.86]) (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 8F5E68F59; Mon, 4 Mar 2024 04:33:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526822; cv=fail; b=SCABUjKy6TJ24FaGSyHYi5VekJZH/S40nRgpCsFNSR2FC+yvzAEj6P54SyXGLSxxvIhzNdu4uVcklxF2Wy1VGriXikUrT4VQ7VF63xQo1VlRLrO+HmRsDnJlWICH0cQibTvtjYrvFosh9qfg2hMWLhLfs8vaYMD5guKtVgB+fuw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526822; c=relaxed/simple; bh=06wTnnbrBAdqoSBatT/mjGZX0zrv5vZOioAvhfrT+54=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=oN1SEwj6vL7nI92jTyWCFQpvnVi71F9fRdjufNXiMWSjxOprX9xjyuPhqZlGiMunQtBpeYWlHAmsehlHQCMD5M8bvUs1XRj6wn4Mn7GspDDEKsOgjwD60+8bgtRedYi800+Q1VyZ2WWW5VzDYTWGjf3YV6j6k3GYd0BowP61Eeg= 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=TQmLu4Mr; arc=fail smtp.client-ip=40.107.241.86 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZG3DJPagjbH3O46TBTHovEo/LztYWAPiMyfOB3q6K1xTH6+5j1Tq7v6VdUhMue1gefsoilfG2pRSW9UUYDJL224ANK1wvtuevIB0diokZLDhAMJTHhQEh3DWJU5xlhTjXycvXb7ohu4QbtXRfCoXgIKmaueXBnPWGycLa7KW4fOG/YMt6Gf5iV1ZoUr1yLwclzhoXId0J5+/QobJV3ONWeyewjw0Vzsmb11y0Li2Wg96xLa0PSUr8/P8NhNeX48yPOkhViScRUjuC7yc2uJwYyhA7wlxWrHE9ITTZ3YO431CN7/ah+DGoyRGvxAcJRbQyRsJpgopP0THW5YRKFnBUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=pz8SCtfXI5+U71jF6sH78bb7ODttSNhkG/ike5YIX6k=; b=SZRu2o6hk/lU73BLP6vDvPXqgrOWy2GhS24IQ+1UC0idnJ8sPW0oBFivToDRzxqkaIT34AQMmBSNy4NLZny/xVHFbFfqP1H3ZoAIGucKXlFEdRDwWmp02b0PZIzTMNNAgwWwfKuASI8imumwqumcCWZzlNv9aAUVNE+O/Wb7vcGaBwZbsjWDRADf2cGAfcWX0Jv/rv5uRqJOR6rUapFhtAi9TgkvzCfMhDrYWXc0PTYaFbGQqfnIfcB82E9xxfSHU8Ay4czFNNmJI9g69iJsNybHcyG3BPN+OQd+qImaV+Vm3zwTSNu9CqbQseAB8KWCGXso/324QlPJPaXiXsKpbg== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pz8SCtfXI5+U71jF6sH78bb7ODttSNhkG/ike5YIX6k=; b=TQmLu4Mr2q5e1+swVFJdnlhJyNtp6cQol8cqU4S8op0B4dssJbmGvx/EzQBkieVpDpzq3jtpMuBo4rzoiIxpJ7MTWJrEmlUuAmwNvxvhikpVh5uSBCqSjpKQFwvMBKIYYWe4njFKPohlJ4IwJw+M/CV22S67dmsrCUpPth0iU4Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DB9PR04MB8234.eurprd04.prod.outlook.com (2603:10a6:10:25d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Mon, 4 Mar 2024 04:33:39 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6%3]) with mapi id 15.20.7339.033; Mon, 4 Mar 2024 04:33:39 +0000 From: Frank Li Date: Sun, 03 Mar 2024 23:32:55 -0500 Subject: [PATCH 3/4] dmaengine: imx-sdma: Add multi fifo for DEV_TO_DEV Message-Id: <20240303-sdma_upstream-v1-3-869cd0165b09@nxp.com> References: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> In-Reply-To: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team Cc: dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, Frank Li , Joy Zou X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709526805; l=1222; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=YaaXAuvCaaK84kiwIUendNjFizt0HTaM7GccMsgIaa8=; b=6m6kj0LyEPt9m7OLRxncLNPHNOpexDqFPyXm36x9kyYUnOmcJbg6uTDWiJb79/lAZCf75ItqC dtOH6WaSRDJBFGX2YxZzXdHwtRgAbXiwf618AZSdpysRyIQuQjOZclw X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR01CA0040.prod.exchangelabs.com (2603:10b6:a03:94::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) 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: PAXPR04MB9642:EE_|DB9PR04MB8234:EE_ X-MS-Office365-Filtering-Correlation-Id: 5cb47818-e67a-4b89-e5d2-08dc3c0443b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aQLO9bGskBqnmN83tAaMQV5IHMPWpl01XF6HWBvAv0PnpyfDNfg1xMDYkydniR+YdCH04QU2O5klpoCHl77XXQ03Sl3PdPB1+J27mdaapPfNdyBybjeZjy5aLLuN+oeR6HxigLzzat5z+1TL3OeCArowiHAe4TVkK29m16ZqvB4e+MEZMByI2qwpLHYkPldT/Z7BFVbba+NjN9Ps/QBxGFrA7FF5MBYlz7pAVyTvQnYLQjg30x60NiSiyUGxSzk5wdiSqaVUrL+RXKHr9DfLuMXij+2rSOV7zhbwpXFi6Aa7igmqSGVfXJqBZS61lmajkveukS4aXAKg9VF9q1vhoCC54xlL9PxgQUvOJD+fljhRZC/honRpMRfdDZNvzuzljxCBgh2UFTE04jn55J00PQJykTlE02NlKRzoHP7kE2NIgs2esiuz1XcFx3/AR4gMJpxozjWbOFg78Sb49sY0y1pP49tIU+qVgdYHzR7jFVIP2l6EUwziPf8S3OVNKvW5R5puo9MRyZHbSvt2DrgsAKuTyzNzcAWvgHvqwekyZwwNbwowTnd0L4YrwepSbhpDDSmwBo/P8MwrIb707lcymDq9yhSepe3r3gRQVQFyuAxhrVhsqBCLEPXZvv74bCMKr7+Ay/IdYqcdjJv0HEFpJ6uiK3dQLzEoKbdifWiLcme/cim6p+6RiBSMJcZLdZHQf9hV3HXHAKAiZgdoSrK9qQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?WRNq4JdBcMF1/f2kPvkVVEY+IUeH?= =?utf-8?q?h/JjsHPftGQ5Os3RUz7fZyndM2RvEOt8NIB+uOKLL+8mUaZJNr45rWoieG6z2+kIi?= =?utf-8?q?GxAFP0Vt+lV05Qh2dEvAUfu3d1Fy23TJju9sRSp4GYf32LmlM0F+WI+ypAOarq9yw?= =?utf-8?q?8PnnEAdH305E/cDvsnSA8w6tTsT6T2hzm216QKwZfs2rsT2y/ITAn8qKHmZyZ1TBf?= =?utf-8?q?2M7Sp5lgqeXPrJGP6LCn4EDv62gPANgjVyWJ60M+MqIS5QQRIccJ1Nxk1WKCaSw5C?= =?utf-8?q?Yd499jlbZ1nID3uOSu+8BAlNfh4I8mTxKexdGjuGo0kju6KZZnmetI2GCQMFYRJlu?= =?utf-8?q?7GWNwMiu/BLzTbEWu4LZfBC6eWDc+7fixiilbSh+bGmGHSrkAXzVU51AaX5a0SJhD?= =?utf-8?q?el15EGwrtA2pYeNAxbr33mwzPmm9c1xisEqJe1XJzrZjVUtD72Pa5ymvHOStOFs1Y?= =?utf-8?q?wcXPdGKFWDZQAGOmINrlAi62A0R9YhVPnWW3mREc2Ewg1Xsc+uMg3zSZten6R0EmS?= =?utf-8?q?hNUI2G5ku/4ySut5YqbykoE1FfZMdliqCe7NxJwGMF5SZeQ8/5j1/MQLETjOxQJ5f?= =?utf-8?q?4gMBT7WflJbbfz0a4madKMZcbbRyiK5NFswSgnEa5wD6QGA9VLJPhtJMnAFMKaMfG?= =?utf-8?q?UYfb6+1Tcr9G+H7xPdl5cSbBg6f8rUNr5Y+1bTubbqkf3x9vnYSMc3Mp+qg6RVrdI?= =?utf-8?q?IhnAhoHXUNAdZyC/2bQccVRs81GPRlKpwBfviuuBW/GJlfyGiNl98ggnEd38++PEO?= =?utf-8?q?zUOi5piJ0Gydj+oBd/D6QzpInPiMnS5fhjKcHF5PQhrlSQpCyAtH87vQfTh73ftJU?= =?utf-8?q?rXQA/LdLUGy6cn+LukuYlaFO6c+Af27DsfKyDctNG51T5M/ety0HhtgABWTKJoJpA?= =?utf-8?q?7lt/GedLGltPEVbb6aFCMd8V4kkNkf8Mwb+bnwQH7lfOSUF27zTDG7Gl3+WtzMwVp?= =?utf-8?q?yh8Orq+NCdZGl24Cdd7yyBWEDbiDaTGeWTLDXVex9aHdNt8C9xEWYec/aPLg5Rjwu?= =?utf-8?q?dHM9hgyUOO6rLMmpVT7vsdP1/i6LQpu1JnUa2YMUOlWTFKsBbdxVddx5mz3sbxmji?= =?utf-8?q?EVS0+/YvF03CwAxfEUrF6SgNUPah8HqEOfO5niA8Hvajj8jji8AJ/jckf1F6S2QZD?= =?utf-8?q?JrERMRcE4BcRyUrnarihJon/u3A97a9/Osydjv7Ed81qaIBGB8frqEJM7BXTZyLCq?= =?utf-8?q?ZgAtSHfp7Npfud7oWpW90iYRl3+16rqkjdw1VH8qHktUg1F0DI4J76LVpXNBtVRIt?= =?utf-8?q?7efZHaS9javmnu2WA1R1N/cS/Wr2jBIiEBYEb4ymYALiEUxXuv3GjAf5oo1gXQKox?= =?utf-8?q?Ifcc0JvC4uqmdmigdkgNi8PpOrogh0hpWKiLabOU/z8jn1rgKvuvG93zqsdJPrlAC?= =?utf-8?q?eIvu6ZjDkVOoxHxMpUrLeJve+znj7rBHAryKZ2n8eBBINFxvKybWumMK+rEPzZoCl?= =?utf-8?q?721oj+e+aa40DPWt3xG75J9NeuGIBXL4hb8ksz5B0cJeZmMf2wJOeRB/txFuQTHJU?= =?utf-8?q?EfoEuRhRFrlW?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5cb47818-e67a-4b89-e5d2-08dc3c0443b1 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2024 04:33:39.3712 (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: MxG9+nZkdaV8zpVwY89OO5L+jeQOwuporYRG/ENbKcv/1CcG8X6rPyXzMH5mKo82RGw6VRLs9ydn9aKfVXrZHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8234 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792568850117770850 X-GMAIL-MSGID: 1792568850117770850 From: Joy Zou Support multi fifo for DEV_TO_DEV. Signed-off-by: Joy Zou Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index ef45420485dac..9b133990afa39 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -169,6 +169,8 @@ #define SDMA_WATERMARK_LEVEL_SPDIF BIT(10) #define SDMA_WATERMARK_LEVEL_SP BIT(11) #define SDMA_WATERMARK_LEVEL_DP BIT(12) +#define SDMA_WATERMARK_LEVEL_SD BIT(13) +#define SDMA_WATERMARK_LEVEL_DD BIT(14) #define SDMA_WATERMARK_LEVEL_HWML (0xFF << 16) #define SDMA_WATERMARK_LEVEL_LWE BIT(28) #define SDMA_WATERMARK_LEVEL_HWE BIT(29) @@ -1259,6 +1261,11 @@ static void sdma_set_watermarklevel_for_p2p(struct sdma_channel *sdmac) sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_DP; sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_CONT; + + if (sdmac->n_fifos_src > 1) + sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_SD; + if (sdmac->n_fifos_dst > 1) + sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_DD; } static void sdma_set_watermarklevel_for_sais(struct sdma_channel *sdmac) From patchwork Mon Mar 4 04:32:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 209381 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1214999dyc; Sun, 3 Mar 2024 20:34:44 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWFtHCwU9aW8/OrpeJUB26bVdbn1ozt/33kNcQHjOHhGtrEBO4cpzrvgg+ZfybqCDnYHM2Lb5Y6qM5NuMZoBChGMr844Q== X-Google-Smtp-Source: AGHT+IEJWanAwDNTQf6xvw7PB0H6WbUW74p99s3qAsEvtGDLgVL2mGkA5YMrD+VjxuVMQWZ+8PbB X-Received: by 2002:a05:6808:54:b0:3c1:f0f2:860d with SMTP id v20-20020a056808005400b003c1f0f2860dmr1049646oic.21.1709526884475; Sun, 03 Mar 2024 20:34:44 -0800 (PST) Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id bq21-20020a056a02045500b005ceb4a70188si8332716pgb.375.2024.03.03.20.34.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Mar 2024 20:34:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90042-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=d00Ohs2Z; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-90042-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90042-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4176E2810D8 for ; Mon, 4 Mar 2024 04:34:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 89EE9D53F; Mon, 4 Mar 2024 04:33:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="d00Ohs2Z" Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2062.outbound.protection.outlook.com [40.107.241.62]) (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 70E19CA4A; Mon, 4 Mar 2024 04:33:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526827; cv=fail; b=M+bs7JgpzJnDbUgJqydGpYKAcA62FgBynG4xHEMX9cJJS90P4NdE9Hn2jykANInSZulGVffG8X+OekKnVqPgvfqPmMmQRYz61jnjr4NAeKbTZ41XNrvQ0eG8/M9W8vzLjgljs+PmU65R4xxiVrPkFiO+XWFWoXVmdt6KhZUht3E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709526827; c=relaxed/simple; bh=QEZqUUXW8Rgc2Oqu2u7FH9lfYbbaApne+Xq+yBJSvGg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ty2F8BDL3gvFKwOAjg3PBT5VWSC74fs64WxmB1KwwVQWSvMy4TpmZYIvL9WxQASJHy6DxF0d1pCb3y/Sr5jxk8oaxfGeNm8/9lUBVIJTopwRCin2GiMGskB2dXqiWDbjHhi6b/+8QVF9ccu051dV+Q/adYSEZr2Dtoufbd1KeP4= 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=d00Ohs2Z; arc=fail smtp.client-ip=40.107.241.62 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T2dYbXWHiTLEjcQGN8IoYt6kiacXn3WWz0z9naTSX5PJ5kHFnc9xZgfu63x1PhwneXDXgr2RxkVeQd3Uf9fJG47ArTsjrKH2cv19jiCQEtWbFkVttqQiIHvxKtWsUmYZhvejplBvyQDnwbVy2/de4WWo8Y9wwee//ytrAMiDjY5kJHJypsCSWpeZxCES4RSWjo36QpGoDNr7+hvpK2f8vGBXO1kQM2RenDrNpXJngKgm6mPhjD4HDUg/OTPO/9c+0HGvvIZZL2tkscpkBrz2E6MkJE2ebBlw0XEX+X1qbH5QLyTkxGHtvch8cStVj5dP9dMM1i7yjWWQnI2WUcV17A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=5z64wZYjKKUfm1pxpEOeB7lPcrGc3jLg+jMihqDpSYE=; b=HfS/3CWrGMGQWe4XTFnfM1bMMAcOMWzaCYr4wPYo/hcqZlpGdN2NJhiLztGVz32QJqNOE+DybUNM3tqJjAhloKl/ixo9/KlK08t5Ca4RpPVxgu2REOVf4lZ2BhxIxyaSzEcQH71x8SmP2kIh40aDsrdxrRp/HL1zS4uXFLvzVSPNHPhNRVXeu3daSap9D+UYMXaRIpikCm1au7uxrqQ5TCstN7Ljz5lB2VNxbXueYYTxRiZrGPQm5ocfoL5ILOtLVivCNGSVe5vznocV2UKrEE8m+LOHtati1woh8NrYbh06QJDy4PzOO97hZi7ai8YDIAxn16pcLnZZshNA9FHbBQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5z64wZYjKKUfm1pxpEOeB7lPcrGc3jLg+jMihqDpSYE=; b=d00Ohs2Zcy4YBSsJqN4Des8TvRV/My9zO03v7NhMWKXTJ8RrnC4Hiq6RkzDNdj3wOdGuxInCQOMPaYIPHaCvEH8uOrWfZftrlkoKWidNLTZBbqBAsY2Ihn2pHf/JTO3O3OGGOtFY7WawEXz7Hk5Ls2adaRPR9KB79NoQ8b8xx6Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DB9PR04MB8234.eurprd04.prod.outlook.com (2603:10a6:10:25d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Mon, 4 Mar 2024 04:33:42 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::3168:91:27c6:edf6%3]) with mapi id 15.20.7339.033; Mon, 4 Mar 2024 04:33:42 +0000 From: Frank Li Date: Sun, 03 Mar 2024 23:32:56 -0500 Subject: [PATCH 4/4] dmaengine: imx-sdma: Add i2c dma support Message-Id: <20240303-sdma_upstream-v1-4-869cd0165b09@nxp.com> References: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> In-Reply-To: <20240303-sdma_upstream-v1-0-869cd0165b09@nxp.com> To: Vinod Koul , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team Cc: dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, Frank Li , Robin Gong , Clark Wang X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709526805; l=1643; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=jvaJuGAbq/PgTRjNdACNawbK/+uhKFgC31PN65XdWH4=; b=3TebILFHjhFYpSl9rErEHst/rEjqdhhvMwWqKFjHRFlvwpD0+ZP3hDh5q5dGYxf1GR7J5m/nl eam4Zeguk/qCvacgGwtR5/mn76RVzAC8PNMLGXErLnkJEWY1jXYJlTX X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR01CA0040.prod.exchangelabs.com (2603:10b6:a03:94::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) 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: PAXPR04MB9642:EE_|DB9PR04MB8234:EE_ X-MS-Office365-Filtering-Correlation-Id: a2b58476-fb01-430e-670e-08dc3c04458b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6K1A97qgzRWtel6rnPgHS1Hy+XnanCIgP9exLx5fcX8TehTU95oOD6p3B30vaPrL8yPtYG5nPGwf3dqYirSSMhi0RIWQhxBPPzqXc2Qh5R5t5o0/dRfCw6GDK1B2/9RyokCMTLQI/nY9JPd3gKndSOx/n06qlFdK5KtyUz2+9G1ET36nAG+s3qa/8rrreo3h26yIXW4M+0vtnUkRxopm6JiTKt8BS7odGd9kgBfRvBH4/ilFKiK2B1uOiy6kCbhFGB2da0f0Y5kQM6+EIHi8aHZf7t/Efn75cugwWV6r9rEIRqejddGWT4WupSNnCB7zPNs/2ggUsbWpu2m1oHI9hSo6ByLkJQjRrJkRdjrjN2Rl6QPq7tPiIMqlofVLvMIel8bNS1WqgSdcT838iURsDlv89E5pOtDtuIfwI8zH0ycE2G6d7XdsjuzL12fqn5MDJi2LfuQ30y+f3HLroaa9XgXnOn/4TUR0FMUvzsK8a+UdKdZiQ2s5tMiMsireMT3ZKIkVjPJ4CCSbX8TsdBU8LNQovGhZLghOKxz+JtrQWUYxU55yuxgRVkaCyPlESG0RzCqYPJh80bzwnA65/vugeQWWRx1pF4d9E9p9V1PQEDEhXA1QXeldOECzH9ZE2n/1tls8soqILk25QoziCrz2WREF9DYuKeXXBotUxTfDjPUo/O24u6R0c0F7u6DZalBb0/gzEyRM9GxTPCyrriGwLTJ8Bokae0hg+V9Y4K0mbpU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?p17zfqb8awTeEhyTjlODn5yzNTHc?= =?utf-8?q?YAiwUZb+UFlSYTRXNCzZ/h5V6+AX5vYtu+JimMLF+RXddpEhs148IMbcVBFW1b90l?= =?utf-8?q?Ob1t64B/fp6nuwa3u75nPKwI2kxUYC3uYp5AG8IpWwpe940AL6uoSoixyQrrRfDFG?= =?utf-8?q?mVzR/Ax95sm5ewLF6ccxWmU7nEfYyBjd9HfoogWjad2FfGpNb9Kou2HTPoj8palxx?= =?utf-8?q?nKIvpYGXBQ5QkhfeNnfuzGvFipug3ZToLDRmuLhkM9F28kZScNSQ/ZUktiwOIzIme?= =?utf-8?q?oQeLzNDIR1/kKiCyM1jAA1OhA9N8OvjwNxe8M/WYHeOHN07OJ1QrDZdGk5GLa6jOT?= =?utf-8?q?CluR2DfLucOIAaDtwfBrJeoy/+/RjgYbTgIvmgZKb/mAcFi5Gf9EgTQVlgwLp1ls7?= =?utf-8?q?YmhcV8LcNBuiV+yua6RiTDPi/ZFj0rhusyKzDprLBnZE+k+juSb8dl4gNi+HhAs4+?= =?utf-8?q?LiNPfuMIpjGfV2FUEqDQgkh59RsStUTfF81tCkf/oXix2T+4jX/JYFZO+Ayjte13L?= =?utf-8?q?pdWXybgeB+1F5VLQtjRwlzgYP4Ba2udNl2YFR1EEe8vkxAIRs/pp5mV8iNgzFKLRU?= =?utf-8?q?whB+EEdXI77Rq0xcTtOWPgxP6LTNMlGY8W8+jtTKI2tpEREEgzCiXqvxD1+PfC55E?= =?utf-8?q?0FhJRTmOOjy4LGc+wnoirIqLNAw2CAYngS4xOaS0o5tNeCqKh+ruG99KeYzDyeEDp?= =?utf-8?q?oaqYnBXqNejGH/qfzlsU527m9iitpZDnmBQ2A6PqHwG0tclemWsEDRJKXz4btdp/U?= =?utf-8?q?QjhWrTbPHYK9d0JOGWea+79H2cDivknJ+dI0dlPcoEjDWfoY/OZmOZU5DjVtDBjgC?= =?utf-8?q?0xm0NFk0zj+R+dU3PUkXgMD9DK5zTuQYVZ7Te0jQJJAbg3ecUVfN4XJ7eecaakM5D?= =?utf-8?q?QAGA12IgW/SiqY5gYdEI+dJsdPVfSL3YKxRLLisT6Luy4cAECJWvJaVWdh/4Ua+zk?= =?utf-8?q?3AWLzcvzBefNXY2cbM3r+WN17DXqBm1hQlP0zk5zmbDmKgztiF1pMDNCS7SPGnecA?= =?utf-8?q?AFRagFUhCMNFeYib2a1tgkAWLvfiDFjyLl14+XxFXlbbLDtTlb8mSc9d0pIP/bHmV?= =?utf-8?q?Kzlhwr6nO4L9zncn5feVfgJzzQN0o7m3+6hhlKxjhhONtMFcOEIzLZOjzcCHkFDXk?= =?utf-8?q?TVu20ZRhg4ILOR0vZQ/n0DJLybIh5K5z9ma7bxmxd/YcM/8FCroOm2h2uDYP8Yn/X?= =?utf-8?q?ScxSm5IEAJDAi5kDUDBc3UwegT84KI7nw7Twr+kcmkzWg4+QfkoF9syx7reJBSK/B?= =?utf-8?q?/7B9f4slKgYmn/iQC21GEj/5E8gDmK8CzMDnFY3tBatutW37hjVhrnubnLklZxjSN?= =?utf-8?q?w06wSUVCKDwW4ECDFIu0x4/iX9SgnOJ6iekrXrh9k9KQ0yzo4Zpem+TLHpxwD8Xg4?= =?utf-8?q?ndWa/CrvHmQyZU6ym4u2SRIak/obYKlpFNzdwSs7YOvIX9+RVw9UmSd/sZrKURR/I?= =?utf-8?q?P7KTiZSaMb8JrY06iqy+F7sSWLuFGckWLGkxSACL1/N/vMwyh21thXMbmDYAKGRcg?= =?utf-8?q?ifCF2mANIWsp?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2b58476-fb01-430e-670e-08dc3c04458b X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2024 04:33:42.4954 (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: FwTh17tR6Srn/2bzNW2M/Nw/4Lw5gDJkv6ppajy7oOG3CpScysG91amWr45XwL0nyM/ZbbNoN2j3q1jvCv04eQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8234 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792568862295083719 X-GMAIL-MSGID: 1792568862295083719 From: Robin Gong New sdma script support i2c. So add I2C dma support. Signed-off-by: Robin Gong Acked-by: Clark Wang Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 7 +++++++ include/linux/dma/imx-dma.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9b133990afa39..832be7eccb335 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -247,6 +247,8 @@ struct sdma_script_start_addrs { s32 sai_2_mcu_addr; s32 uart_2_mcu_rom_addr; s32 uartsh_2_mcu_rom_addr; + s32 i2c_2_mcu_addr; + s32 mcu_2_i2c_addr; /* End of v3 array */ s32 mcu_2_zqspi_addr; /* End of v4 array */ @@ -1078,6 +1080,11 @@ static int sdma_get_pc(struct sdma_channel *sdmac, per_2_emi = sdma->script_addrs->sai_2_mcu_addr; emi_2_per = sdma->script_addrs->mcu_2_sai_addr; break; + case IMX_DMATYPE_I2C: + per_2_emi = sdma->script_addrs->i2c_2_mcu_addr; + emi_2_per = sdma->script_addrs->mcu_2_i2c_addr; + sdmac->is_ram_script = true; + break; case IMX_DMATYPE_HDMI: emi_2_per = sdma->script_addrs->hdmi_dma_addr; sdmac->is_ram_script = true; diff --git a/include/linux/dma/imx-dma.h b/include/linux/dma/imx-dma.h index cfec5f946e237..76a8de9ae1517 100644 --- a/include/linux/dma/imx-dma.h +++ b/include/linux/dma/imx-dma.h @@ -41,6 +41,7 @@ enum sdma_peripheral_type { IMX_DMATYPE_SAI, /* SAI */ IMX_DMATYPE_MULTI_SAI, /* MULTI FIFOs For Audio */ IMX_DMATYPE_HDMI, /* HDMI Audio */ + IMX_DMATYPE_I2C, /* I2C */ }; enum imx_dma_prio {