From patchwork Thu Mar 7 17:32:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13586080 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2064.outbound.protection.outlook.com [40.107.249.64]) (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 1C65B1EEEA for ; Thu, 7 Mar 2024 17:33:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832797; cv=fail; b=XaqvBJl0ehXN5mEb5Pm8x1QxqkrDqgrF/8dfgxq7OBvem7tOwTj6Z3gSLpU34/q3YgPIe10H5M//6373AyIdUpo2xsOPjLN2Bp5S8mGmmbiMJLikUVchpvKaIxVFNnsRyrH2HB/6rjRiU3GHUOdlLLzQeq1q4YrjVLdwYS/JYw0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832797; c=relaxed/simple; bh=pkEVvWOsGPC8GRmMAKNJcok9PfGzxBg+simpRDnERxE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hfEx87hcXVxVOBC4qag1qoMygduImIE2DVEBk4FdQuUxpk8I/qrA+8GLmuPN4HBlZcmEsjSeDF2aNRRHqwL20h5gl0mKiwftsqUKFntuNAU3zpQk/76KOryci4ntFQHfF6bPjYDZojvdLTIFUTgKB5CncV25IcjXi9PaCihHvh0= 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=MSPUuapO; arc=fail smtp.client-ip=40.107.249.64 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="MSPUuapO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UHwV/d0vJ+VV/6rODpNoDW7EoH98/4XqdQPoHZOFARz1tieivrAhKMCIHrbri3oT1xlV8qoA1kK9Oci0ttnuJhdpzCuhBsLlxff7P5xAJ3gkhhw0PgyeQ/ns+WPPxfyiinz4/GzGhPm1FWzYMlS5ZvsGzFiOtntgmOvTjgjpojuhN6IKTOyQYtlAScPXOpfkTcxig+Df0yw78mOHZ1jEDcgm3Nhf14Y1s0/9AEajdhsN66JoeZgSCY8OV2YX7BFBs642PQUs2J0sQCi91UN+qC3zSRvxkmYfKTsbA2Pd8vycmXWtO7n0OXc07X2q91DlTZDdq9oOf5Mc0zsyQu9FYQ== 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=xKzF2nPeJMZc/TEzPO9lzXdhY8kN2NWlNrZ/LDL9oZI=; b=VrevS/OkvODLNY4qvBJR4/OlfbMPl3CO8NwyH9RnVzO+aF6UqGn7JBVlvGKxUWZFiCb2MjHWOcdb594Xg6lC0E2HMYl2rsMbGnZxdShrdw4Bk5Nan5ZE1WPFfUqCS+mcjQJBS33YlXEL/UCJ+TcRJuWexLFt49sBqSBvbhTZrgAXl4cQ0abNHA2RKIIsb0BL2ObhdkAAo5VkZRD0S/x65pig3w5MBv0EinXHAzCi2IUbuZulSDPWOXL2s7XTfCHkHVh29GCaKee04YTv7tuSuyPBu8O/J3UpUwT8x2qhyCO2z7VuZYpYrHyfvZel+8qmhECjhByNQyAg+YGxebdE2Q== 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=xKzF2nPeJMZc/TEzPO9lzXdhY8kN2NWlNrZ/LDL9oZI=; b=MSPUuapOqxiWuk4UymyAcvI8Z2tdW6qAAX+nmqj3Qk+oj6EniQB4zBqtFHGMk6NA2v8Qo/eQVM57bttX8zeflbuIJ7B0wNfUYYWtdO3vArks97hZlDuN+vDmT8tTVNFCgH1RG73sJHxsa3xACTotzoDDwhJvo+ohP5D0g0/JhZc= 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 AM8PR04MB7794.eurprd04.prod.outlook.com (2603:10a6:20b:247::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 17:33:13 +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.7362.024; Thu, 7 Mar 2024 17:33:13 +0000 From: Frank Li Date: Thu, 07 Mar 2024 12:32:41 -0500 Subject: [PATCH v2 1/4] dmaengine: imx-sdma: Support allocate memory from internal SRAM (iram) Message-Id: <20240307-sdma_upstream-v2-1-e97305a43cf5@nxp.com> References: <20240307-sdma_upstream-v2-0-e97305a43cf5@nxp.com> In-Reply-To: <20240307-sdma_upstream-v2-0-e97305a43cf5@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 , Daniel Baluta X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709832785; l=4382; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=35WKrihwsy+0gjRgHH1219vF/6YHpbFAEnJbyCUA0F4=; b=vcZYt+q+JPNhDZADrJ8xEuQU2gQsKT0AhUjpPtWnLqayoowZlXem5NABkmNzGxC8/pQzoUE43 0jbU2gYQXx+AOcxroFBvl7J7zpDFzwr0rZj94HvbyKt9ab0aUy6o7Iv X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0065.namprd13.prod.outlook.com (2603:10b6:a03:2c4::10) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM8PR04MB7794:EE_ X-MS-Office365-Filtering-Correlation-Id: 1aba22f4-669a-448d-a139-08dc3eccaaa3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pBZpCuP/tWfUApXM4ucPGSbBKor7/vW7MYRtRNudmr84KQUOe98aRpFK9Vk6khZefqA5bIDWvBTAasyne4cLQ7ETjgLNK6nYJwVp4g7XnjAx8rWuETjt/RX7di1z/Vrc4l10KpbV2lye0vkHa7Nv8YACQBsTiURQ5/RW2Wiuj5HBFl9/yRubsMPl6WMvvzpgBNqXIBpyN7QTJur8iFeHAxhGf23w/6n7NOSuV6yBIAAMW/U78F467S37CbNoEAH5+GZ5drTWgaCu2FIvGsrbe0qr92HUuPz6TboyGioy8BepAaybEXdYugDT47RBLS/UDhSOVX1638UfOS8IBBp2RZJ+cAhm2WEZr2Cn/dnDJ0w/DcoEe5eillOwPTz2RiGIbbmFlnQn9/Mn64fc2ybJ5MerTxppW6VQhE6j7waYULyjXmhlELCnCbz23+uqDaya9oIuIo83LUJUwBNdDhTHudJT5lqIBZDVNZ/PnLP45JifJ48q8JWsVzTJYih5f1YzgY/IY3g3S07FsMaT9xhQ59PAwsEkmTUNXVGiUy4XQ0TibFenPK3pWQGy19gSkxRJ3fuNDdCiSxvonx+zJG0JE64pWXyFVqc5xUX+UoRybY9uYWzqVgizuKz9x3rVfinWmrh1QfaBjCcdpBxJEXaPAdwp46o/1EDoYcOe8k68n+m8JBKi+mk3VyFf3l5KFWY+DuSLKB9itPgMZ6jBqWMM26/eIC/wZoPTbLsOVmsBAns= 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?3wUVFbbN84Y7Ax+fZg3JxJeOpQIG?= =?utf-8?q?WnuU3HsAwAit+J7LEQsT8vG03DeqqH/4SnoR7G8TsS0OJ9sF1N/rh8yda8B+BOETD?= =?utf-8?q?+HS+X0rHBQr9nVnltqW40b6tIOXeTWHK+NEuq2B3Pmk5RYNuYDd3XAcxkP+i1UW7j?= =?utf-8?q?mv4VqK0S9DIqvzWTnspwvm7rfgDcFX/uERi+eolmBiABmlMEER8jA7j1qMp/x1qrO?= =?utf-8?q?XW1W8qCONMRVJ81Oj1LXaU6H09l+6H6aewhfYs1x720JaNVhW2lMB0J0nV31IgbsR?= =?utf-8?q?JvrgV7gy1uAb7Kw/5rJV8MFjr7qobJacK2+MreczSXvFpp09pK8Uca+tWWYYLUZbH?= =?utf-8?q?nRRDzUzo4yeq+4csFErLHyMDDkwT3bZhZBdah2g/G7Ld0jJb28ahVth/Ux75CgpiT?= =?utf-8?q?UPnWb1E0/q0EvRsFPLszR8VsHXZynldG3VF89x2cArAhYy9Unc/Y6VdbfFzfG5WFa?= =?utf-8?q?/Hq98vBAKYinepiR2BR6ox3qIeErYDHCcVNJVP8UlfVvr2V1ia2KddIedJunqGU8c?= =?utf-8?q?9FwfJx+JfiGvhHOmjKR9PGPsFATFi0gfNlTedTIVw50xWjXqVe9AMlLzmkOUR3bbC?= =?utf-8?q?TCvDVCEO+n9APnKN4bkcXdSDcR9y5p8ZoirBkD3wXg+wIF4mn340wW2/se6ssC9nr?= =?utf-8?q?Hmuie/6M+kUqEOVWrIkFSH0l74TP0G11VkFgdCR19CIrtffYa4nEJK7ZC7B8urhXs?= =?utf-8?q?/rzqWwoKqhhfazLhtsnehwCed7Y67k9/t/Gy8g0yrwhHz8i595u1/g5PGhW+lExhZ?= =?utf-8?q?XYdqmfu5V296VMYkudhtkeKEX8xAuSJXMfTBR6xoTsbBHEGyUIZ2hlzqw80V9HiSo?= =?utf-8?q?0xecMp83dZvqRUCsAWiWN67hwVnhrWn4ed1C3hJYEashs6B6T96QH/pySMzpoBmql?= =?utf-8?q?TKhSBEHJGbKqeKxaV7b4nHD4HdVv5TOIn/tYWJ4qvAxL3ljgDVml4U6LoSFou621k?= =?utf-8?q?8vGomM/x/5yOmbVvBn/9ezi7FtqgLcikgkzWZhxxxxAY1ldlSZmL2T2j48eI68rRj?= =?utf-8?q?DwPz9wlK+6K/OVSQq4ibHFgAFx1qHqARvPiIf1Q2/9A8hfTyvKed9mDwplOq+LUzD?= =?utf-8?q?Cbxxe8G3W4hO9GHF3nejd9mfgYxGToqypaDVUpr800xuRC9EHf4lcgk4uHpsLxgJl?= =?utf-8?q?ZqCJiJ76hK53oyaBFw7WouN50PjjwFq2Ntde3T4SxAL14OeoIry65neB1hUEOSlSr?= =?utf-8?q?4xqYsuJ3NyJdN4BJXvwOA/Ck34OVzvCW2nCyA4V3yRt/YgsN78ZzvYAJPMbjErevb?= =?utf-8?q?p/EiwLDJawg7KQ1j92tr44XdZIitYA8ELYTydeodoXoDccIjUs7EoVvYosRgI2s/n?= =?utf-8?q?dzwzRD0m6IaPpPK/Vrw/ya/CSORqpqG9qDDjFXvPi1C0+rAEoHinEURK9E+jL1PlZ?= =?utf-8?q?A+jaTCXPgmme5E1hGckvMOIpD9AJGgoFcmkdM/RJGCrnScjb9EqmyJPgEX+gc/zaw?= =?utf-8?q?1EQyr8Xir7ubIfrBtOG4CPQ1liiZGC/+Tgl7HWs2ZIePworZ0aQLwpVE6cWw6qL6Y?= =?utf-8?q?biZxD0dZKmOW?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1aba22f4-669a-448d-a139-08dc3eccaaa3 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 17:33:13.8110 (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: RZc6s2AYkgHGjLCc8TPeAdtmWksSDzsZKgzzewPbCU1XTYpHp6MBzjNZnFAKQtW3V7j9weaNwEpqIz1q6fAXpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7794 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 Reviewed-by: Daniel Baluta Signed-off-by: Frank Li --- drivers/dma/imx-sdma.c | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9b42f5e96b1e0..4f1a9d1b152d6 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -531,6 +532,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 +1360,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 +1387,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 +1406,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) @@ -2068,6 +2083,7 @@ static int sdma_init(struct sdma_engine *sdma) { int i, ret; dma_addr_t ccb_phys; + int ccbsize; ret = clk_enable(sdma->clk_ipg); if (ret) @@ -2083,10 +2099,14 @@ 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, &ccb_phys); + else + sdma->channel_control = dma_alloc_coherent(sdma->dev, ccbsize, &ccb_phys, + GFP_KERNEL); if (!sdma->channel_control) { ret = -ENOMEM; @@ -2272,6 +2292,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 Thu Mar 7 17:32:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13586081 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2071.outbound.protection.outlook.com [40.107.249.71]) (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 80D3813175A for ; Thu, 7 Mar 2024 17:33:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832802; cv=fail; b=hjftIdXyW2fofeBKh9ANCCZmfMHsoumH93iXD80gb++b3XFLDrrGRLKRIcs89JA82zgBMaiqDOSjWg4WY/NTmda93vSsTWuCpGE1Q4iXOuVGxDP2zPZc226F3IQaF0A/aNTk7lWYBnIEOuEIicpQI6tQJYaxppBJTnZofOmTrJA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832802; c=relaxed/simple; bh=aq2/ULP0Acqkl5nMyq60djlyfH/8ofMH5hwkVDWJ9JM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=jvohK2TjjlglU5DhASWQ751z+Vz9DG+DsI9IpvAvudhH0F7tJfq/KANgq1oTbtSU4WWwBCtvCyQXuEng0ULAzPGFWmInbVE08O1hl6KKHFT7oFMmnsiEE9/rBdrhIViCRCws7o7M+IyndF5TTiZ+feN8/Gund87MWfybs8xDu8g= 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=PIKj2kD0; arc=fail smtp.client-ip=40.107.249.71 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="PIKj2kD0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AEzRHmAu5Oje3Tc72UHwMczc0sIPkj8424hqtAoBeADsjVXdZgkybx1vWD+CMU4lVdQTqjaqXDNpfVM969UeRPJHFBy3l+0rFVrABzTmGU/IFEWd42qEA6koQXiPxvqoYFa/qheXtprIo7R8JEqom8T+fVnXaWC/aG5Xd46mVtGjqmgmsTZCJIpjEDw6jFpYMJq6W7Rhj7XysXfjdD49FxrK3zqKVGNSoV0BxbxQQm76aQMHjQtg/Tncq19MkQYJOfGtgaPHI5WL7KdY+02tyH/1ctqQzaIKzBv2rHiMlFqXod4Khee2l7YGvF7Os1geDM4Z73re5BrykebJbJBdZg== 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=GroNJye/Yehgv2tou8mx9qaw1VtXSIYv09vStwtBzqQ=; b=BI/ftbIkCZFDMvteffGCJGIrGO+xaeyT/mF0Kj5K7HwCzfpDzWh155t2NDqbEp07WMrXAXkXAC19uVe9Uc8nXKagaqf8pSmZCKCMep1EF6Dat2f1JCHH+BGG+VqgfwxLPiKt0OJT4lRo9W5cWHf0gUSMG7VfVs8ahsJSmBb2oXwY9rQJqvNcxeUqTDyYkA6RWyT/gAv+y+j7S4dKrf9XDqXjoO6nhCjL5Rt3OrtDoWO+aJfq6GoKJcQYulHEs3KlQnGJx+5wAQttAw4eKpcDXwjvEDJ9oeBWAJiShuYQQtu4gSnVFzOixuezqECHMJPabrg7E32y0L81DY+6EyKC4A== 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=GroNJye/Yehgv2tou8mx9qaw1VtXSIYv09vStwtBzqQ=; b=PIKj2kD0qY4D/jdnZbWxJiADccOLuRQckyDfMV1MX2h08JhVaYjAusfmOoXA6w9W8MaY0+6wcu52Pm/fva7nnbp2+C8utO+YCDy17Dcix+6TQp42ot/ixCSrGmp/H3V6zGQT5k37n56WzFVANDfDTPyBZTqOLILERyvrcK6gyCo= 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 AM8PR04MB7794.eurprd04.prod.outlook.com (2603:10a6:20b:247::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 17:33:18 +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.7362.024; Thu, 7 Mar 2024 17:33:18 +0000 From: Frank Li Date: Thu, 07 Mar 2024 12:32:42 -0500 Subject: [PATCH v2 2/4] dmaengine: imx-sdma: Support 24bit/3bytes for sg mode Message-Id: <20240307-sdma_upstream-v2-2-e97305a43cf5@nxp.com> References: <20240307-sdma_upstream-v2-0-e97305a43cf5@nxp.com> In-Reply-To: <20240307-sdma_upstream-v2-0-e97305a43cf5@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 , Joy Zou , Daniel Baluta X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709832785; l=1279; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=/ve4814/ESKVFolOyuQukJbgmItKlbc7RUUIpEOw+Jo=; b=oiSNAweI9pK5PjDsiEYAfea6educhkAluVrdg7wVZ6flvR/h2YaJrZsErH1nmDDhHei4VJP9V Tdtp/jdQxKtALbDb419l9RFE7cSsMuxk1CYAcAaStp/MsMVJVUSTDD+ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0065.namprd13.prod.outlook.com (2603:10b6:a03:2c4::10) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM8PR04MB7794:EE_ X-MS-Office365-Filtering-Correlation-Id: f2473f0a-ae7e-4a1b-a87d-08dc3eccad1f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MgT584bJs0rJgBhSRx8KSgUDTlDzmTtHX2OUXjmSurLBI255gOHNAG9m5Qb2x4yD/pmNjdTzjUNrHRe8Ywf/KX3NGqenoQ166QCJ6BzqU8q0zH6/PPxli91AFmqoffrHIyTvqpG2pO4bQRq4+rFIUqH0AAD66zaIxXOW4IVGj7ZutDSjkzRSGqnQyr3JHItbkKZmrj/9AMrz2UV4YsijCJULIA/EbmsYkSRaWwPPbadp8uT8HYmHDPPtkoBqEbYl2Nsrg+7WILm7u5O5+YbAk3ilJ4IZvdWyudyLMaP2/F371YIuHMfAVxmrkeRGFrJwA4Edec7VaU6XMC3Y5Edtg+KRaKPf5SP9HrPGkZmkFqjUdecFUv48HfxvtkG6J/kfpWeOCk6zJmR7X34UWQ8PPl5R/VSJ0kxRl1AKSjvKaPd8LXwGAVTIpt6BK9qM6ROcWTITxY+5mI85qtbk2UYTcljy24IPAiya6dN3J6wKWAGlcfSwXHthKi2opLtl9EjGmjOGIYxg7wKbRNUMxaeOr6yKhuExsN5SkFiwoIsJ95RPURG75UFnXdYhTi5Ta4XulAUKiVhK05uX/HdZxuvKFioxZ1rj8c+akTN/aRnpar434JK3rEjpD8bpqepCAtP1PYy3a23H93hyPPNg2Ij1PGP0zC0uCeMXpcUyh3WWQFxYkN2ONTbZzDlXIna83yADJAQmrBkRbzmYAlzULmK/B1NrE2SRjwQPpccqQo0HlK4= 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?0Yd8S82RyUsGMI5BgwiYnt58I6iy?= =?utf-8?q?18j8NeSdwe7D4UiAIR1kYSZ8rUZVz7wNr4WCA64xBR+BtFW4VqOlsU/sMHy8mRqX9?= =?utf-8?q?h80h8P1oIAKptYyrY17i04gCqCj31T97si8/g4qpGa4fc3lvF8SvWEcrCFdLppKc4?= =?utf-8?q?Rm8hLOvBJlpVycJ9V6P/sRA0QIpAnA9pcdQcz7+sgiIhYZQ4l1pCSq0HUfR8gbKpQ?= =?utf-8?q?gboQPHWejptTytkfMHb8XkzHqQMAqtlhCmiSa4CVGEBl+KoGp/iR2dBi+Nh1mdTcW?= =?utf-8?q?IWdPpDV95ipjGgfvhjN18xRQJWx7b86UqYQc5pqRYIPQhWZ+l3TVTyeeC8/rCmAXd?= =?utf-8?q?5HQlYfBObw5a2FsIBBtlmq2bkTCEZKcYB1AWlhDP61+EEft7x3so82tCZSZ5P2/fi?= =?utf-8?q?f+rGKT1BILtSStxECOW4GDA2AORcTPuVTQb7TBP73ICHogNDzsnpisGMGJgT9Sh2d?= =?utf-8?q?De+hVMxYJJ8MGChju4RtIJd0ZQqdTShBTuTRlZilX0hMOLJgU115fP0q7c4PAQgov?= =?utf-8?q?ujr3jaeoM1CuYqjBj+f9JIEqyEwP34oHTEw6pw7p7UxXF9B8L2X/FsOkGAHTXAcCB?= =?utf-8?q?wm1iLLo5uRK59jWJQG4qJjISaLLbB1Of+qXlgC3aA3MPmLNlDxPMfNxJwZbN1/zNe?= =?utf-8?q?EGP5oP8Vgp4uvfPG89xrWUEul9TyS/1ZsAKxqE+XBqK1avMnYDy9MCnI6ha8w5Ez7?= =?utf-8?q?X/L+5uLd0AbOdR9rx90oCjLcg0/c2tuLXthSPRYyFYA7FQAbgg353lGqrTFoCL1pg?= =?utf-8?q?HDA1XJ4QRveEDyxGRXdPd87kEKX5eoVhzYNqWH1lEhQWNk8yZ8qRuv/azxlPFzKTQ?= =?utf-8?q?ScM/6km8SUoDDwM5A/M0MP9718a5ynTpN2wv/F8Yt4oksqUqOtwGlqqrXxANNs85n?= =?utf-8?q?KAtoI9OdlzeE/oiUGCAurBccAC0YCHHA1odV/plGetLNKXQZq5KyiLII1CxkchFlm?= =?utf-8?q?3CcBO6hqYv5Gn2Jk5WCiONhAjn3AZ3zrMcRZJXPlRCNAKZC/K838zHiHYR7HR1mhx?= =?utf-8?q?ex+2jpGIfy131BZIWBliDfTfHQ74WwsO6DVWXhA4Kno4RUqoaNxe2TOwbfHc3Yay5?= =?utf-8?q?cDUZzs+tZZyg7m+2xWk3kl74O+h3qFL9PBgEPNF4+CTHwUpK+8OMdbI8eU85j9/Fb?= =?utf-8?q?KnJXeSUAtm1V6XoqJWqasGilUA5+VKWtIW7G3ey5THpVmvhIF8wslTDjQKw/PrKqW?= =?utf-8?q?RGhEBIzDIcHOtaA6XuBlJ3YrkvhheVq1g51L4m3lP9DHmiAFQJOh73OKKGkkBN+lz?= =?utf-8?q?VIyZFkZDpn3yMM8Csd4A3BjPmbl8Mkjqg/YA3bbBHan0mfmg1ru1YSFyuXec2FAHR?= =?utf-8?q?ghNridNRwO0jqKjDPF9Ausz+qInynDKZjitgpFsP0E0GWDFNpTFSvHqzAF3AOdkJo?= =?utf-8?q?THgDkHCG1JWMHbtVdfyBwAc6ICiw5cnkBD0L7h6ltFeZFAWldL3HUrH0nNG+Ca9C2?= =?utf-8?q?GYPtusGOnfEo2cnTVSq8+Z/hYRWl+ixltth2Wwk5LjRsdBHHwPEBmKnpKuc/OONoJ?= =?utf-8?q?Arxl54UAfTmy?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2473f0a-ae7e-4a1b-a87d-08dc3eccad1f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 17:33:18.1354 (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: 9g1pEho6wjENpIbklSP1JJJiRywSbvdyNvNIr+Z6yO8koPSS2A8jh1mkcNHYcdW3ORcjAjkzgIEDpgRMTPIxow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7794 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 Reviewed-by: Joy Zou Reviewed-by: Daniel Baluta 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 4f1a9d1b152d6..6be4c1e441266 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) | \ @@ -1658,6 +1659,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 Thu Mar 7 17:32:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13586082 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2071.outbound.protection.outlook.com [40.107.249.71]) (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 C439713175A for ; Thu, 7 Mar 2024 17:33:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832804; cv=fail; b=kUpoUXpsAPIRooKqGzfIlqeWJz5xSDf6q8ZJlDe4ui4hxBPNmZvArpc4cNdF8QsDld7gXIFClE5ZrOlW2ZENqWAO3IeHmvxTTCf2+LZn9Nx7bMjkEbXavFj2TP60LAw3gwks7Fc3eiqEoSVc5uW9sRMRZhe3TB0LGvNBwXyXDFQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832804; c=relaxed/simple; bh=YxPotRKKsv7AMML7UR0EJ+molezhbRr6Jj7xbU0leI8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=nhDvCCAO0gAqv0LiCGBJSYroK77FK1fR7jrvNY9Ef244dIiZ8sW84YX+WZGnjfzn86CkuCH9Xgav8UWcHY6gcPXzEAOZinK0Ir7/6pQizZvka+bQHtRrltOCOjam40PD1jKIVc8xAuH6M/EtF4FHYCbQWVPAGRPoekbBYhL/f0c= 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=M98HU1Cd; arc=fail smtp.client-ip=40.107.249.71 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="M98HU1Cd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bDQww+5cwlVngMa7ncEMPKPkUTamJ7djFJfbMdmM1BB8SoS45U+Y/jB/ecwk4oEcGTGjmiQ3jATRSIpzfQ5QKxmZCs3I61A8EopzeMNkLmBTtiS7CkejTSbvK/pzqlkPgp5PS9Z3qBkPKLHKPn7Ddb2DBW9O3jxxewUeGEjjLaJL+S1Q16eFiA651GJs+2MR7p5XpJmgxZJSNhmqwR0ErkRlihJ9hlBAHfJc1dIO1dtGui1hzn9UHg5eVM3wOwKgQybnRUThGixkR48D9IzfZKUBcaN7uRRtEeGzx3dEFRtlQhaod71j3pL7W/8ZYcBd/A7JemOE2AybYpItFH/0Zg== 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=HNipCopR1actSPpQ2YFnLhWfTN7OElPPaWSFF7H3oS0=; b=VaFNsVDj1Ckyyg3EuabvIXWCn/GgSbCg4dXUO0h5Ri7FtBXKoekn7di4tDrfRobEMtcTogag4Ed7eXbFVO9UtJ9dtYdqBZDJhf8qz31udnirZ11jWwcg1Q5tGwu0WQkCFmdmKmEJDxBTFX/oe4TN1Jfq7nc35HgDsyTedK2PW/PBFpzE0U27QY+MCrdE+yLMq7nwKnPFf7GIU/dYREMTSlIZLKH1ej5yqRe1z4Uq3L8FOtmxVu/yaMD27//ZyIyqCdmcOVDtBPDrYPygii6qpDFrfywkwvLfK5GXUITOEcJ5R4r3AZlcZQ7edF2OAmBSu6UQIpbUxdSoH0aoZSUxvw== 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=HNipCopR1actSPpQ2YFnLhWfTN7OElPPaWSFF7H3oS0=; b=M98HU1Cd3MFw/cNW+hniD/yU0peWohShr5Otmy2uxAlo0o3U/aUrHsW/eC4CoOyduyXZpivHHlG8/NL9XC1l6bioy9rwZFGL+boApBn7xvu7z0mIMA6G5i727WMroDMB+5Z6iU6gBGYY4rxoQ8xL8ybLkLFdwrfubUhGPhbzaPo= 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 AM8PR04MB7794.eurprd04.prod.outlook.com (2603:10a6:20b:247::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 17:33:21 +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.7362.024; Thu, 7 Mar 2024 17:33:21 +0000 From: Frank Li Date: Thu, 07 Mar 2024 12:32:43 -0500 Subject: [PATCH v2 3/4] dmaengine: imx-sdma: Add multi fifo for DEV_TO_DEV Message-Id: <20240307-sdma_upstream-v2-3-e97305a43cf5@nxp.com> References: <20240307-sdma_upstream-v2-0-e97305a43cf5@nxp.com> In-Reply-To: <20240307-sdma_upstream-v2-0-e97305a43cf5@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 , Daniel Baluta X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709832785; l=1314; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=lYqK9q+URTn4zwdOYmJPQcGPKoeaMuMJQOuUDFYyhpU=; b=beu0/DrhG9b59bHhv6VSc7520pHz9w/Q5utXqsj5/jxu0ChYUXWIE4PD23Mk9YvLKY5R7h69h hhQDTiGY85EAV9sMMDkFxT1cJJJww5+XIctlamy6U9aiVbb8CXYzXkG X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0065.namprd13.prod.outlook.com (2603:10b6:a03:2c4::10) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM8PR04MB7794:EE_ X-MS-Office365-Filtering-Correlation-Id: 694209ee-3837-458a-45d7-08dc3eccaf60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5ZeXWdZrGKRrE6JQivpC4d4dDumYKnwmJfcYmrZ8ucQYpSGsscUm5MBqC65iREw8mO4N3w4ndyKTiM4Zt2kcKZxiJ8cL89m/Rkci0gwtcSZ0Sk0UvWk2M5WgC1YyyOmeLH10wKePAlxd/sfOEZU53LHvLUr5rk+G6CL++kmgjLOOoVMyJEYPoDjrcpYYBWY2yjIPgnv3wIOWDdVwrVx1UwMMLjSxpHSO1yxt15jqv3Ey+QpVExAUIc07mnwc/3/V7Rj5b8Wb8+kM9ZfWWHF45hA8/gEVoV7K8Ups4VzX18YoLnf0ZTcu5z3REsK6BAb2vlAgaRQ+hra7MoYk2/sS8sTxRP0vBZGl2HtqY4TJAR0TQwQVMyuM4fPmprTXNOZ/mtgLWnfqjymTtneK4vvM3l/Mc/UJf0kd6Wlv5es9pR4ClqkJJ7llqKe9mX1NhtwzZVz5EX8tT3qtlDpwzNBVkgdhwtqFqSwUZNx6+yLQHAYPvP2e+cj8aRt1fc1NxkCa2SiCKphdPyKuv3VVA4qs7rNsmBcuY6WLu5qLNnNRZZH/Kc8nPz9LnT2wbP/WHpmmDZ8oVeT18rEYAhNZpc2DehlWjSW74kMPh1l2vIQHTZMXlIXTzGNL2zqZMSpa/9MHc8byxmutNgUvsZTOd8pAUXGhphQvcvWUjasItTejSmSNqjBojxpvH9eooLpvc/lkKFAHrow2i9cawI7sfiVJyA== 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?dluN4MKanddOgubrYGfxDXtmlXBn?= =?utf-8?q?BxzWF1c1sEk5/QEyodzexR6qH392CtqaeMhnKEOjWlzAV2SkYR83gj+i1Dnp2BBTK?= =?utf-8?q?SWtGeyNiIjPFYp51GLwtUMln/Ux1MJ++6D/adOJaT0az1QXuoGZBltcbl8QXs1e3z?= =?utf-8?q?qddEvkdK6YuXZDlyvBAEQ5TSC5YpWp3TJzcZuclhOuqm1yxgrrb5UbPm75UI1FWu8?= =?utf-8?q?5lDYGctztT4qPlNiwDf7NMGTE1T83muPhGpKbed33mD8OYc0ABIfeJ+WFGM6qPYrI?= =?utf-8?q?bFVzbumAom8yJPU5ebmIszFPluCbOAksW+athwA+0cliZE/GiaV+BR+hqM9iuFeA+?= =?utf-8?q?VPxIgzICrrkpt2vLp4jADqWt3Ebq4lquIAJWodSpRRqTEb5hEh0Hh+6lBZ9jj588j?= =?utf-8?q?EH/3Y41Fu7G0yLjtl/lLpTuyb3Q9dEHo2TzvZzR9IViTrjdBAcgDBgach4uaulb5W?= =?utf-8?q?aiDqWxmuf30mhGXROl5hdxN8Z3pfIE+0ar/A3QlkAtOWI+sIPlyt4CFlqpz/4T9JD?= =?utf-8?q?Ga+CW/f41EPhKk94aalM8LDmyqo9AnL6zxjxrygfYP33U4qjn66DhTdCjuVBC1ZJy?= =?utf-8?q?Gkgw/7pxva0OQSvdof2em3IEbcxk+tAmwKnx8aA29+iXLuVO/mafd4PAt+2Lj9K6L?= =?utf-8?q?fqPegxmhVbldQatbWda61baGzeQLyYNwb19CN/luF+KwRG+maQ6eml11GG5sJSZd1?= =?utf-8?q?y4ulwSPt9MJX3BXeNWnWwvgSYSORtIX7m2I/3mxh2Y3tSQ8FDCJ+s71IwWGvU1AYv?= =?utf-8?q?MGpyCrF15PJMed8W55D2ArZkqUNxLqBvc01sd9K5p132bQn1mAiYDEbWumpkyWkhV?= =?utf-8?q?BKVMAurEMPeg+tNofCNTVwYDn9/G0mxiWueP9mqE4ASqhWV9cgQwIIGCoSRWtpqla?= =?utf-8?q?eDEGS/aCs/n0BCx2Au/VHBYqKUl0tms+TwA7KcWAf1e/VfQzNZ4WH4GtxAronsZL7?= =?utf-8?q?8Ci5BBkvXYxQK/J5feJzuU4k9zASSmrJ42aHJm2e1wr2OGUQPZsO0MP6PswLHAtxq?= =?utf-8?q?t0Ol0ydRQyBwRpOPwykuf/81k8QTgUk0JuyJBxipBkbwBXZC+rMgYiA9se7B+wDaI?= =?utf-8?q?W5+sZlEeIh0exbXRcUlhvMivp4kSR01EjkJcKyhzPEi1AcxcbY80KJIp/g9MI5ALQ?= =?utf-8?q?7uffypYG98s+wT/EqJMuotC/MqZA9Bi3x1IoxvWIB0J0HgjU3BkXMoElmzPLydHkp?= =?utf-8?q?Ej86lndTZGm269FASQSkH0V9oR3E0aYU4tzF6LhI+3P9i9aGe/2zrRAoyRDkVGhSK?= =?utf-8?q?MAAHsWv30rWUn4MnplwAdv212mqDkwbjvvobekHaIfMJvH+dT2kFr81Nv5r93Yr8g?= =?utf-8?q?O9Ir0vt6ySNBwRWwzUTz/6KwN9TGsWDh6QkR4GOBk1zfya4HLkd5KNEdd5q5tbG11?= =?utf-8?q?MuXYrScRdHKaZhD1jSTSIH1FD8aYBmmc1jnryRa1vxWvEyiXNM5CFPYizrqEQV7lR?= =?utf-8?q?Uq+n68yilkQGBBzbJZYjVGj3PsjNKXOuy9O2T0jFZH0jGFlGy6n3gV1QZr7j+YjUS?= =?utf-8?q?GfXLnTn1sM72?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 694209ee-3837-458a-45d7-08dc3eccaf60 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 17:33:21.7215 (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: 4BlNZyZyWxadOsns7+SVbyMtf0uxgRiC6416AtDqqWPLATdLg+ZwfFuaA1U/Y1idOXuzU8KFPijxrYDzcCucJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7794 From: Joy Zou Support multi fifo for DEV_TO_DEV. Signed-off-by: Joy Zou Reviewed-by: Joy Zou Reviewed-by: Daniel Baluta 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 6be4c1e441266..35fb69a84a8da 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) @@ -1258,6 +1260,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 Thu Mar 7 17:32:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13586083 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2046.outbound.protection.outlook.com [40.107.249.46]) (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 1C594130E4B for ; Thu, 7 Mar 2024 17:33:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832809; cv=fail; b=HWWZxlHxs9FGoCDrTLo1cdqiDEjA2R1RYZa+PaYgABgunacbDYA4N0jSeGJ3iWg//dlHdGfhyl14h2SlIeqkKgbssZKFcUW6feSxg069EGOIIpAG0wi0B8LcuYp/HsCXCgBs/WsI0j9ViuSB6jYDA4/A5t9ji33lA90k7QuNupo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709832809; c=relaxed/simple; bh=PAauSkVd257q5YDs50he+CnIKgSErr2vkRkT1d4FKJM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=NOA4oPgzYQo1TzcNdcvFH6Mglh+lKeGTn5aua4DwQZ1rKtgkAANX1F69Zds+qx6onP06BS8ao/O55JY3DhsZq45H6SEMQkqVcOsyDKh+KmRU5or/C/WLB3FmdpOKS6CTe2iB+15Hm550dwuyij/tExLrZIsIIB4T6FXNheMxs9w= 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=rZuLk+kU; arc=fail smtp.client-ip=40.107.249.46 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 (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="rZuLk+kU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jBtTTVLndbCQ1nywRTblYhAi7/RyhSvPUD/qk2vf5hTCgPXN1HUEzyb9wBF8lYo16+pn2ESZh/C4AWxckKSrhSzHcpc3nN0aQ/r4Buo0G5EBPzgU59CW8oD8jGrodni8z/a7K7bWXbu2WjCD+EagU9v3z+UOXKjzi0D/i2fD/Nou3kRKuKZgO9MPYO6j3o+ZZifUynf53bHKNVTa0ZUAu/PV327HH+VNeQtpJ+np1fpYiJDOWyoILjrfsX9vdhD67vrf4zDMAqLQDmFwo+e/TNPRbaZd51yXABHrqpJLvyaMu98abpivRGU8K0QvYQHuanG/nO9h/sdHehgFHroxvw== 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=fr2LO0h9CyoaMXE2T45nE8psg5Uj5g7MRpr4k8U/A9Q=; b=iRXHd1pyWmLhbzRNItNFl8BwcfOsQYjnc6dzqV8qkP7mDukYVbMnC03rqK/IEnN/Q3EBQfC8pwvLnZJ4VF1lvvyJVdA7bUh1IL1j5dkysVqzqyQsQ1ZFMHy/dg6touz5X4PJxGfPBK+TixqO2gomj00+1C66Xokl/99fg8QPFuGxPeNxM5qYo6lCTTFvKgBka0OEl9XofrMaIYC5d+sDH4HTmMrnvgHFRM7aXIDsz19GLat5QhvQQCV8YqYSlh4+1amio4/lM1gDCBGIU2fxh54i9M/rt0I0YzI86S/Y2/Qw9PlW+2Q3Zdyiv40TXvaLk79oF8LFVj60QDShDxlKdw== 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=fr2LO0h9CyoaMXE2T45nE8psg5Uj5g7MRpr4k8U/A9Q=; b=rZuLk+kU6+A8m01UeTaqOR9kWo1JDE/RZI8htyiZD1rWx8naHiTTAZJdhoaF4wZB7K3pDEtGR7g9K53FnV0na/1Od+B0Vsg3N2Ht86EHRxv7Ua3NRgN43OP0OtzmgHgp/m9g51z5qtCpSAGASPNblKiucNtoQXvxOyPhGRxJJhM= 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 AM8PR04MB7794.eurprd04.prod.outlook.com (2603:10a6:20b:247::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 17:33:25 +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.7362.024; Thu, 7 Mar 2024 17:33:25 +0000 From: Frank Li Date: Thu, 07 Mar 2024 12:32:44 -0500 Subject: [PATCH v2 4/4] dmaengine: imx-sdma: Add i2c dma support Message-Id: <20240307-sdma_upstream-v2-4-e97305a43cf5@nxp.com> References: <20240307-sdma_upstream-v2-0-e97305a43cf5@nxp.com> In-Reply-To: <20240307-sdma_upstream-v2-0-e97305a43cf5@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 , Joy Zou , Daniel Baluta X-Mailer: b4 0.13-dev-c87ef X-Developer-Signature: v=1; a=ed25519-sha256; t=1709832785; l=1789; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=Z+znoASHkKmDKADwkU6SjZopn98mnwO1hpFlpJAh3Ck=; b=Ku4e7caUq85Jh4+K9NjD5IwJYrhG35Of3csh8qwVRO2dvgCKoLBzbN1E5FLznRxEDtzgAsyGx Fm0vq4z5N7CDdrsUEVC34uZLXjhaPtHVH/jp1fkT7zglOoc3GoVQPlK X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0065.namprd13.prod.outlook.com (2603:10b6:a03:2c4::10) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM8PR04MB7794:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d647bcc-44d4-4a77-72a6-08dc3eccb195 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YqMY75DjpBUXZYd/J8INl3kjQ/NxNBrFBPrdq47aykXdYkUAxmQ29/X1pQCev4aADLeuADuz1TFLzUGzs6xyGDUiccusdDr8mC9Hqr7kuQ95BjAZ39SMve9WXDvfOnm4kvDEknWL11dCbBLYtm8IgPFeJjqNFSclYR1zNL++fH9GzrNSBHzWchk+VufLWxf2KUeszuR5572/8+UGfYZU08nNSjtQB5DcVTWcxHW7X2VvygEgHQGQESBJq4hjPZmGHf4GBZL/SJ51/vbr0TChNJYNf+GL7OVaIZkCvTN2k2ECE3hToO9qDf7YI2SxgzOrk8eDqN3XNjWaN0wLvUlGpCkD9FN55CBV/CQA5pMty+bAJHt0JV2j91HTo9BwENMzmEYn0beVKXuYIOsRIDWuWHV65QbMWJE7Hkh24vmFuCBgdkni6JsEUKfxx4jyxHpNWYzOc2FaXtIz9H5vWsWsetsjt1J0c7hvOQvPSmWoPxAbe8DYiP8xY1kak9HCPpzICrj2j2vvmdgUAHSDDzUDa4lYnRB01nxXUeRqSz/X+/aP+H/wFA9bcCbR82kpw4SS6NM1v8hLhenxN/+jkx3VsZ9DionRNO5DxY8FSD0TWE7FOnQdEZSuDotLfVjnA/bFl2iwq3buQ6M7j5rbcIIrbd5lS1bQqGTLbmFlr+3OXwPPGPSAo+QSecUotHydfus8xwrDW3nkm8lqabozVSSLBi+JqTyPI0QNBoevpUAEzcw= 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?OdfVWxxKj5vyPD284genYVUaUaoM?= =?utf-8?q?9qEK3MTMssndV42AnbbctdjcbaVzWaOQ3A//5xPFDbZB25ilAwbAwts7CfEON0yMF?= =?utf-8?q?M6UOeFG8OT66F1P7WaB9hatzu/FE7e/YW3hO4UTGZYXPfQq1ntMRZKSLcBvc/oBWy?= =?utf-8?q?fS6OprWLOPLMAFgw1be9Trohm9F9iA5v8LRSjC8WJCp4+u8P914htpP0SZEj1S7km?= =?utf-8?q?MwLFk2b19AgXdXXGRuLAlP9Kwj07z7tGuIEjXpCgl0FcbITu2svamq4imqoUZ+3Gb?= =?utf-8?q?pqYYNCvSizVMxk41CIghQ3vqzg0o7S2wtHXf/UTCMPXI/J+GfTEq4vGIw9MwBSOYd?= =?utf-8?q?kmudFJVY3rt3lm4GmrWaHU61CrJqTXbl+s6lBEdZrANogQu5rCaNmoRosGF5gfOHi?= =?utf-8?q?v2r+OT3bG1oElCaTODYCBlJPJAlF0NPSpRV79PHi33kMqNy6YWiHNeXwqnGZNr9Cb?= =?utf-8?q?WAAc2u4PI63Z/X7ZZ4KhJejpOx1omcMQLf32GPnG/QGrJAPoX3SCNpvykEizQF4HC?= =?utf-8?q?FALJZQzJq1ntA1dtlMALWtyc6+6KHoyIx84G/FQKIRuZWv6f7wQxkvpSOClXhPqZa?= =?utf-8?q?voCeoksA7VLcZ1pm5ElKKuvPacJFjI2bTKgxn3n0h9ZQbuwS64Rhg77w8gfRrJa3f?= =?utf-8?q?ya5knAKwvZjU91W37EdvBzp8UHsm1W/lWf3YsKLhNeh1/EKIqJCJv2n6ayFkrgEXs?= =?utf-8?q?sxLJOU3QgHLL+MPi+xhJGUmstOJ8InVhBM5CP6ynHdFyvQBQhwzeCcN6w2cDdtrFo?= =?utf-8?q?arjWRMdJTF7gjPr94jPK9CO8dOz7viFx3ppg9YdfFinzYnJ7kvQqJ+yhY7CEpZ/0N?= =?utf-8?q?ybw3Jl466Haqajmto3hleVRBpGNXHy+KzxGhOBohkUIE78+ZxziUlQ+7NHty7DnKS?= =?utf-8?q?CgCnT452jUuaI/G/MAZbPWxOlzX54pLI4mX1UimMn1cCVJ5XJxf+FoCvgK7HpWStF?= =?utf-8?q?dmS6S7/T1uJb2mO+sJssykK4f5MA6YhU4tW/TcgxZrMSCaUazLOq8AdqgN1IHT1Gb?= =?utf-8?q?5no1IqJ6GJFsSIV4dFnIxTiIPB/xlDi6Pvms3ucm2SKcHZTUNhRbqPMrFfLlS50SV?= =?utf-8?q?q3WDhQQ092gWSWxED6etj96x1g9/wLBgE3v7Qu78hYb4H/VgWpAd85CiLxx4zcJGw?= =?utf-8?q?ry9ZGgw3GaftYdw9QkaHIpbbx/hSXx/O3LYUMtjUi3WgbhTYY7L0SVv1Ma8yNDLqy?= =?utf-8?q?ErSbQhVdRMWj1uML2urGh73WHiuuVzJ+r35Pny8XVnhJJUaxWZn9KzYKrvN9wyGtP?= =?utf-8?q?T7xc+UiV0LIZrFxpjIGAwBc3YOab9zu93AqhRfcY2iwCjtmsi1HOJN1UkXiqv3+Z+?= =?utf-8?q?SxWtJUpgsHt+C1r4Tp4h7domR0AB2wD/lYBC3zxfL+3RbkPDo5TsWbinNesAKveVW?= =?utf-8?q?1F+LN/AaiR4lgg4wEIPlsVbpeVtKa6sfCnUoBeW4EyNrDvri/UCsfQGaAcE20tWsj?= =?utf-8?q?FzyeL9rVb+WGrCJ37LRvi4Szr8vDACRK0lwHVlUMUXAENj6b6pcvVWn2rkX4Ezgc8?= =?utf-8?q?hRV4u/vyPs9K?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d647bcc-44d4-4a77-72a6-08dc3eccb195 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 17:33:25.4485 (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: D4PPHxQe7Nekx9mGfy8g54GL7IekbC19Lq49y/sO9kGuGZdm67GCqYhWtYhni4ffy7XO/tmwSS9BkS8HY4Em0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7794 From: Robin Gong New sdma script (sdma-6q: v3.5, sdma-7d: v4.5) support i2c at imx8mp and imx6ull. So add I2C dma support. Signed-off-by: Robin Gong Acked-by: Clark Wang Reviewed-by: Joy Zou Reviewed-by: Daniel Baluta 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 35fb69a84a8da..5bc4419fd45f3 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 */ @@ -1077,6 +1079,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 {