Skip to content

Commit a41efc2

Browse files
committed
Merge tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine updates from Vinod Koul: - Support for ColdFire mcf5441x edma controller - Support for link list mode in sprd dma - More users of managed dmaenginem_async_device_register API - Cyclic mode support in owl dma driver - DT updates for renesas drivers, dma-jz4780 updates and support for JZ4770, JZ4740 and JZ4725B controllers - Removal of deprecated dma_slave_config direction in dmaengine drivers, few more users will be removed in next cycle and eventually removed. - Minor updates to idma64, ioat, pxa, ppc drivers * tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (66 commits) dmaengine: ppc4xx: fix off-by-one build failure dmaengine: owl: Fix warnings generated during build dmaengine: fsl-edma: remove dma_slave_config direction usage dmaengine: rcar-dmac: set scatter/gather max segment size dmaengine: mmp_tdma: remove dma_slave_config direction usage dmaengine: ep93xx_dma: remove dma_slave_config direction usage dmaengine: k3dma: remove dma_slave_config direction usage dmaengine: k3dma: dont use direction for memcpy dmaengine: imx-dma: remove dma_slave_config direction usage dmaengine: idma: remove dma_slave_config direction usage dmaengine: hsu: remove dma_slave_config direction usage dmaengine: dw: remove dma_slave_config direction usage dmaengine: jz4740: remove dma_slave_config direction usage dmaengine: coh901318: remove dma_slave_config direction usage dmaengine: bcm2835: remove dma_slave_config direction usage dmaengine: at_hdmac: remove dma_slave_config direction usage dmaengine: owl: Add Slave and Cyclic mode support for Actions Semi Owl S900 SoC dmaengine: ioat: fix prototype of ioat_enumerate_channels dmaengine: stm32-dma: check whether length is aligned on FIFO threshold dt-bindings: dmaengine: usb-dmac: Add binding for r8a7744 ...
2 parents 36168d7 + 71f021c commit a41efc2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2108
-967
lines changed

Documentation/devicetree/bindings/dma/jz4780-dma.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,13 @@
22

33
Required properties:
44

5-
- compatible: Should be "ingenic,jz4780-dma"
6-
- reg: Should contain the DMA controller registers location and length.
5+
- compatible: Should be one of:
6+
* ingenic,jz4740-dma
7+
* ingenic,jz4725b-dma
8+
* ingenic,jz4770-dma
9+
* ingenic,jz4780-dma
10+
- reg: Should contain the DMA channel registers location and length, followed
11+
by the DMA controller registers location and length.
712
- interrupts: Should contain the interrupt specifier of the DMA controller.
813
- clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
914
- #dma-cells: Must be <2>. Number of integer cells in the dmas property of
@@ -19,9 +24,10 @@ Optional properties:
1924

2025
Example:
2126

22-
dma: dma@13420000 {
27+
dma: dma-controller@13420000 {
2328
compatible = "ingenic,jz4780-dma";
24-
reg = <0x13420000 0x10000>;
29+
reg = <0x13420000 0x400
30+
0x13421000 0x40>;
2531

2632
interrupt-parent = <&intc>;
2733
interrupts = <10>;

Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Required Properties:
1717
- compatible: "renesas,dmac-<soctype>", "renesas,rcar-dmac" as fallback.
1818
Examples with soctypes are:
1919
- "renesas,dmac-r8a7743" (RZ/G1M)
20+
- "renesas,dmac-r8a7744" (RZ/G1N)
2021
- "renesas,dmac-r8a7745" (RZ/G1E)
2122
- "renesas,dmac-r8a77470" (RZ/G1C)
2223
- "renesas,dmac-r8a7790" (R-Car H2)

Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Required Properties:
44
-compatible: "renesas,<soctype>-usb-dmac", "renesas,usb-dmac" as fallback.
55
Examples with soctypes are:
66
- "renesas,r8a7743-usb-dmac" (RZ/G1M)
7+
- "renesas,r8a7744-usb-dmac" (RZ/G1N)
78
- "renesas,r8a7745-usb-dmac" (RZ/G1E)
89
- "renesas,r8a7790-usb-dmac" (R-Car H2)
910
- "renesas,r8a7791-usb-dmac" (R-Car M2-W)

arch/mips/boot/dts/ingenic/jz4740.dtsi

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,21 @@
154154
clock-names = "baud", "module";
155155
};
156156

157+
dmac: dma-controller@13020000 {
158+
compatible = "ingenic,jz4740-dma";
159+
reg = <0x13020000 0xbc
160+
0x13020300 0x14>;
161+
#dma-cells = <2>;
162+
163+
interrupt-parent = <&intc>;
164+
interrupts = <29>;
165+
166+
clocks = <&cgu JZ4740_CLK_DMA>;
167+
168+
/* Disable dmac until we have something that uses it */
169+
status = "disabled";
170+
};
171+
157172
uhc: uhc@13030000 {
158173
compatible = "ingenic,jz4740-ohci", "generic-ohci";
159174
reg = <0x13030000 0x1000>;

arch/mips/boot/dts/ingenic/jz4770.dtsi

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,36 @@
196196
status = "disabled";
197197
};
198198

199+
dmac0: dma-controller@13420000 {
200+
compatible = "ingenic,jz4770-dma";
201+
reg = <0x13420000 0xC0
202+
0x13420300 0x20>;
203+
204+
#dma-cells = <1>;
205+
206+
clocks = <&cgu JZ4770_CLK_DMA>;
207+
interrupt-parent = <&intc>;
208+
interrupts = <24>;
209+
210+
/* Disable dmac0 until we have something that uses it */
211+
status = "disabled";
212+
};
213+
214+
dmac1: dma-controller@13420100 {
215+
compatible = "ingenic,jz4770-dma";
216+
reg = <0x13420100 0xC0
217+
0x13420400 0x20>;
218+
219+
#dma-cells = <1>;
220+
221+
clocks = <&cgu JZ4770_CLK_DMA>;
222+
interrupt-parent = <&intc>;
223+
interrupts = <23>;
224+
225+
/* Disable dmac1 until we have something that uses it */
226+
status = "disabled";
227+
};
228+
199229
uhc: uhc@13430000 {
200230
compatible = "generic-ohci";
201231
reg = <0x13430000 0x1000>;

arch/mips/boot/dts/ingenic/jz4780.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,8 @@
266266

267267
dma: dma@13420000 {
268268
compatible = "ingenic,jz4780-dma";
269-
reg = <0x13420000 0x10000>;
269+
reg = <0x13420000 0x400
270+
0x13421000 0x40>;
270271
#dma-cells = <2>;
271272

272273
interrupt-parent = <&intc>;

drivers/dma/Kconfig

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ config DMA_JZ4740
143143

144144
config DMA_JZ4780
145145
tristate "JZ4780 DMA support"
146-
depends on MACH_JZ4780 || COMPILE_TEST
146+
depends on MIPS || COMPILE_TEST
147147
select DMA_ENGINE
148148
select DMA_VIRTUAL_CHANNELS
149149
help
@@ -321,6 +321,17 @@ config LPC18XX_DMAMUX
321321
Enable support for DMA on NXP LPC18xx/43xx platforms
322322
with PL080 and multiplexed DMA request lines.
323323

324+
config MCF_EDMA
325+
tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs"
326+
depends on M5441x || COMPILE_TEST
327+
select DMA_ENGINE
328+
select DMA_VIRTUAL_CHANNELS
329+
help
330+
Support the Freescale ColdFire eDMA engine, 64-channel
331+
implementation that performs complex data transfers with
332+
minimal intervention from a host processor.
333+
This module can be found on Freescale ColdFire mcf5441x SoCs.
334+
324335
config MMP_PDMA
325336
bool "MMP PDMA support"
326337
depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST

drivers/dma/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ obj-$(CONFIG_DW_AXI_DMAC) += dw-axi-dmac/
3131
obj-$(CONFIG_DW_DMAC_CORE) += dw/
3232
obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
3333
obj-$(CONFIG_FSL_DMA) += fsldma.o
34-
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
34+
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o fsl-edma-common.o
35+
obj-$(CONFIG_MCF_EDMA) += mcf-edma.o fsl-edma-common.o
3536
obj-$(CONFIG_FSL_RAID) += fsl_raid.o
3637
obj-$(CONFIG_HSU_DMA) += hsu/
3738
obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o

drivers/dma/at_hdmac.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1320,7 +1320,7 @@ atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
13201320
if (unlikely(!is_slave_direction(direction)))
13211321
goto err_out;
13221322

1323-
if (sconfig->direction == DMA_MEM_TO_DEV)
1323+
if (direction == DMA_MEM_TO_DEV)
13241324
reg_width = convert_buswidth(sconfig->dst_addr_width);
13251325
else
13261326
reg_width = convert_buswidth(sconfig->src_addr_width);

drivers/dma/at_xdmac.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1600,7 +1600,7 @@ static void at_xdmac_tasklet(unsigned long data)
16001600
if (atchan->status & AT_XDMAC_CIS_ROIS)
16011601
dev_err(chan2dev(&atchan->chan), "request overflow error!!!");
16021602

1603-
spin_lock_bh(&atchan->lock);
1603+
spin_lock(&atchan->lock);
16041604
desc = list_first_entry(&atchan->xfers_list,
16051605
struct at_xdmac_desc,
16061606
xfer_node);
@@ -1610,7 +1610,7 @@ static void at_xdmac_tasklet(unsigned long data)
16101610
txd = &desc->tx_dma_desc;
16111611

16121612
at_xdmac_remove_xfer(atchan, desc);
1613-
spin_unlock_bh(&atchan->lock);
1613+
spin_unlock(&atchan->lock);
16141614

16151615
if (!at_xdmac_chan_is_cyclic(atchan)) {
16161616
dma_cookie_complete(txd);

0 commit comments

Comments
 (0)