aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch88
1 files changed, 0 insertions, 88 deletions
diff --git a/target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch b/target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch
deleted file mode 100644
index 3193f707ce..0000000000
--- a/target/linux/layerscape/patches-5.4/806-dma-0007-MLK-15330-1-dma-fsl-edma-v3-combine-two-cells-into-o.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From bae75b5a56bc2c8768541b4b61edb28609486357 Mon Sep 17 00:00:00 2001
-From: Robin Gong <yibin.gong@nxp.com>
-Date: Tue, 4 Jul 2017 14:45:25 +0800
-Subject: [PATCH] MLK-15330-1: dma: fsl-edma-v3: combine two cells into one
-
-For dual fifo case, fsl-edma-v3 need add another cell. It's not friendly
-for user and it's possible other cells maybe added to other use cases,
-so combine two cells into one now, and for some special use cases such as
-dual fifo property can directly be passed by one bit of cell3 rather than
-another cell.
-
-Signed-off-by: Robin Gong <yibin.gong@nxp.com>
-(cherry picked from commit 3ecd1b3382e2c746728842fb2c084fbb030eb5de)
----
- Documentation/devicetree/bindings/dma/fsl-edma-v3.txt | 13 +++++++------
- drivers/dma/fsl-edma-v3.c | 9 ++++++---
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
---- a/Documentation/devicetree/bindings/dma/fsl-edma-v3.txt
-+++ b/Documentation/devicetree/bindings/dma/fsl-edma-v3.txt
-@@ -14,12 +14,13 @@ Required properties:
- - interrupts : A list of interrupt-specifiers, each channel has one interrupt.
- - interrupt-names : Should contain:
- "edma-chan12-tx" - the channel12 transmission interrupt
--- #dma-cells : Must be <4>.
-+- #dma-cells : Must be <3>.
- The 1st cell specifies the channel ID.
- The 2nd cell specifies the channel priority.
-- The 3rd cell specifies the channel type like for transmit or receive:
-+ The 3rd cell specifies the channel attributes which include below:
-+ BIT(0): transmit or receive:
- 0: transmit, 1: receive.
-- The 4th cell specifies the local access or remote access:
-+ BIT(1): local or remote access:
- 0: local, 1: remote.
- See the SoC's reference manual for all the supported request sources.
- - dma-channels : Number of channels supported by the controller
-@@ -31,7 +32,7 @@ edma0: dma-controller@40018000 {
- <0x0 0x5a2d0000 0x0 0x10000>, /* channel13 UART0 tx */
- <0x0 0x5a2e0000 0x0 0x10000>, /* channel14 UART1 rx */
- <0x0 0x5a2f0000 0x0 0x10000>; /* channel15 UART1 tx */
-- #dma-cells = <4>;
-+ #dma-cells = <3>;
- dma-channels = <4>;
- interrupts = <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
-@@ -60,7 +61,7 @@ lpuart1: serial@5a070000 {
- assigned-clock-rates = <80000000>;
- power-domains = <&pd_dma_lpuart1>;
- dma-names = "tx","rx";
-- dmas = <&edma0 15 0 0 0>,
-- <&edma0 14 0 1 0>;
-+ dmas = <&edma0 15 0 0>,
-+ <&edma0 14 0 1>;
- status = "disabled";
- };
---- a/drivers/dma/fsl-edma-v3.c
-+++ b/drivers/dma/fsl-edma-v3.c
-@@ -100,6 +100,9 @@
- BIT(DMA_SLAVE_BUSWIDTH_8_BYTES) | \
- BIT(DMA_SLAVE_BUSWIDTH_16_BYTES))
-
-+#define ARGS_RX BIT(0)
-+#define ARGS_REMOTE BIT(1)
-+
- struct fsl_edma3_hw_tcd {
- __le32 saddr;
- __le16 soff;
-@@ -696,7 +699,7 @@ static struct dma_chan *fsl_edma3_xlate(
- struct dma_chan *chan, *_chan;
- struct fsl_edma3_chan *fsl_chan;
-
-- if (dma_spec->args_count != 4)
-+ if (dma_spec->args_count != 3)
- return NULL;
-
- mutex_lock(&fsl_edma3->fsl_edma3_mutex);
-@@ -710,8 +713,8 @@ static struct dma_chan *fsl_edma3_xlate(
- chan = dma_get_slave_channel(chan);
- chan->device->privatecnt++;
- fsl_chan->priority = dma_spec->args[1];
-- fsl_chan->is_rxchan = dma_spec->args[2];
-- fsl_chan->is_remote = dma_spec->args[3];
-+ fsl_chan->is_rxchan = dma_spec->args[2] & ARGS_RX;
-+ fsl_chan->is_remote = dma_spec->args[2] & ARGS_REMOTE;
- mutex_unlock(&fsl_edma3->fsl_edma3_mutex);
- return chan;
- }