[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240329-sdma_upstream-v4-2-daeb3067dea7@nxp.com>
Date: Fri, 29 Mar 2024 10:34:42 -0400
From: Frank Li <Frank.Li@....com>
To: Vinod Koul <vkoul@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>, NXP Linux Team <linux-imx@....com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, Joy Zou <joy.zou@....com>
Cc: dmaengine@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
imx@...ts.linux.dev, Frank Li <Frank.Li@....com>,
Shengjiu Wang <shengjiu.wang@....com>, Vipul Kumar <vipul_kumar@...tor.com>,
Srikanth Krishnakar <Srikanth_Krishnakar@...tor.com>,
Robin Gong <yibin.gong@....com>, Daniel Baluta <daniel.baluta@....com>
Subject: [PATCH v4 2/5] dmaengine: imx-sdma: Support 24bit/3bytes for sg
mode
From: Shengjiu Wang <shengjiu.wang@....com>
Update 3bytes buswidth that is supported by sdma.
Signed-off-by: Shengjiu Wang <shengjiu.wang@....com>
Signed-off-by: Vipul Kumar <vipul_kumar@...tor.com>
Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@...tor.com>
Acked-by: Robin Gong <yibin.gong@....com>
Reviewed-by: Joy Zou <joy.zou@....com>
Reviewed-by: Daniel Baluta <daniel.baluta@....com>
Signed-off-by: Frank Li <Frank.Li@....com>
---
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)
--
2.34.1
Powered by blists - more mailing lists