Skip to content

Commit 31be1d0

Browse files
committed
Merge tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "New support / Core: - Remove DMA_MEMCPY_SG for lack of users - Tegra 234 dmaengine support - Mediatek MT8365 dma support - Apple ADMAC driver Updates: - Yaml conversion for ST-Ericsson DMA40 binding and Freescale edma - rz-dmac updates and device_synchronize support - Bunch of typo in comments fixes in drivers - multithread support in sf-pdma driver" * tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (50 commits) dmaengine: mediatek: mtk-hsdma: Fix typo 'the the' in comment dmaengine: axi-dmac: check cache coherency register dmaengine: sh: rz-dmac: Add device_synchronize callback dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed dmaengine: tegra: Add terminate() for Tegra234 dt-bindings: dmaengine: Add compatible for Tegra234 dmaengine: xilinx: use strscpy to replace strlcpy dmaengine: imx-sdma: Add FIFO stride support for multi FIFO script dmaengine: idxd: Correct IAX operation code names dmaengine: imx-dma: Cast of_device_get_match_data() with (uintptr_t) dmaengine: dw-axi-dmac: ignore interrupt if no descriptor dmaengine: dw-axi-dmac: do not print NULL LLI during error dmaengine: altera-msgdma: Fixed some inconsistent function name descriptions dmaengine: imx-sdma: Add missing struct documentation dmaengine: sf-pdma: Add multithread support for a DMA channel dt-bindings: dma: dw-axi-dmac: extend the number of interrupts dmaengine: dmatest: use strscpy to replace strlcpy dmaengine: ste_dma40: fix typo in comment dmaengine: jz4780: fix typo in comment dmaengine: s3c24xx: fix typo in comment ...
2 parents 36001a2 + a1873f8 commit 31be1d0

Some content is hidden

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

46 files changed

+1461
-502
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/apple,admac.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple Audio DMA Controller (ADMAC)
8+
9+
description: |
10+
Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
11+
on SoCs from the "Apple Silicon" family.
12+
13+
The controller has been seen with up to 24 channels. Even-numbered channels
14+
are TX-only, odd-numbered are RX-only. Individual channels are coupled to
15+
fixed device endpoints.
16+
17+
maintainers:
18+
- Martin Povišer <[email protected]>
19+
20+
allOf:
21+
- $ref: "dma-controller.yaml#"
22+
23+
properties:
24+
compatible:
25+
items:
26+
- enum:
27+
- apple,t6000-admac
28+
- apple,t8103-admac
29+
- const: apple,admac
30+
31+
reg:
32+
maxItems: 1
33+
34+
'#dma-cells':
35+
const: 1
36+
description:
37+
Clients specify a single cell with channel number.
38+
39+
dma-channels:
40+
maximum: 24
41+
42+
interrupts:
43+
minItems: 4
44+
maxItems: 4
45+
description:
46+
Interrupts that correspond to the 4 IRQ outputs of the controller. Usually
47+
only one of the controller outputs will be connected as an usable interrupt
48+
source. The remaining interrupts will be left without a valid value, e.g.
49+
in an interrupts-extended list the disconnected positions will contain
50+
an empty phandle reference <0>.
51+
52+
required:
53+
- compatible
54+
- reg
55+
- '#dma-cells'
56+
- dma-channels
57+
- interrupts
58+
59+
additionalProperties: false
60+
61+
examples:
62+
- |
63+
#include <dt-bindings/interrupt-controller/apple-aic.h>
64+
#include <dt-bindings/interrupt-controller/irq.h>
65+
66+
aic: interrupt-controller {
67+
interrupt-controller;
68+
#interrupt-cells = <3>;
69+
};
70+
71+
admac: dma-controller@238200000 {
72+
compatible = "apple,t8103-admac", "apple,admac";
73+
reg = <0x38200000 0x34000>;
74+
dma-channels = <24>;
75+
interrupts-extended = <0>,
76+
<&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
77+
<0>,
78+
<0>;
79+
#dma-cells = <1>;
80+
};
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/fsl,edma.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale enhanced Direct Memory Access(eDMA) Controller
8+
9+
description: |
10+
The eDMA channels have multiplex capability by programmable
11+
memory-mapped registers. channels are split into two groups, called
12+
DMAMUX0 and DMAMUX1, specific DMA request source can only be multiplexed
13+
by any channel of certain group, DMAMUX0 or DMAMUX1, but not both.
14+
15+
maintainers:
16+
- Peng Fan <[email protected]>
17+
18+
properties:
19+
compatible:
20+
oneOf:
21+
- enum:
22+
- fsl,vf610-edma
23+
- fsl,imx7ulp-edma
24+
- items:
25+
- const: fsl,ls1028a-edma
26+
- const: fsl,vf610-edma
27+
28+
reg:
29+
minItems: 2
30+
maxItems: 3
31+
32+
interrupts:
33+
minItems: 2
34+
maxItems: 17
35+
36+
interrupt-names:
37+
minItems: 2
38+
maxItems: 17
39+
40+
"#dma-cells":
41+
const: 2
42+
43+
dma-channels:
44+
const: 32
45+
46+
clocks:
47+
maxItems: 2
48+
49+
clock-names:
50+
maxItems: 2
51+
52+
big-endian:
53+
description: |
54+
If present registers and hardware scatter/gather descriptors of the
55+
eDMA are implemented in big endian mode, otherwise in little mode.
56+
type: boolean
57+
58+
required:
59+
- "#dma-cells"
60+
- compatible
61+
- reg
62+
- interrupts
63+
- clocks
64+
- dma-channels
65+
66+
allOf:
67+
- $ref: "dma-controller.yaml#"
68+
- if:
69+
properties:
70+
compatible:
71+
contains:
72+
const: fsl,vf610-edma
73+
then:
74+
properties:
75+
clock-names:
76+
items:
77+
- const: dmamux0
78+
- const: dmamux1
79+
interrupts:
80+
maxItems: 2
81+
interrupt-names:
82+
items:
83+
- const: edma-tx
84+
- const: edma-err
85+
reg:
86+
maxItems: 3
87+
88+
- if:
89+
properties:
90+
compatible:
91+
contains:
92+
const: fsl,imx7ulp-edma
93+
then:
94+
properties:
95+
clock-names:
96+
items:
97+
- const: dma
98+
- const: dmamux0
99+
interrupts:
100+
maxItems: 17
101+
reg:
102+
maxItems: 2
103+
104+
unevaluatedProperties: false
105+
106+
examples:
107+
- |
108+
#include <dt-bindings/interrupt-controller/arm-gic.h>
109+
#include <dt-bindings/clock/vf610-clock.h>
110+
111+
edma0: dma-controller@40018000 {
112+
#dma-cells = <2>;
113+
compatible = "fsl,vf610-edma";
114+
reg = <0x40018000 0x2000>,
115+
<0x40024000 0x1000>,
116+
<0x40025000 0x1000>;
117+
interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
118+
<0 9 IRQ_TYPE_LEVEL_HIGH>;
119+
interrupt-names = "edma-tx", "edma-err";
120+
dma-channels = <32>;
121+
clock-names = "dmamux0", "dmamux1";
122+
clocks = <&clks VF610_CLK_DMAMUX0>, <&clks VF610_CLK_DMAMUX1>;
123+
};
124+
125+
- |
126+
#include <dt-bindings/interrupt-controller/arm-gic.h>
127+
#include <dt-bindings/clock/imx7ulp-clock.h>
128+
129+
edma1: dma-controller@40080000 {
130+
#dma-cells = <2>;
131+
compatible = "fsl,imx7ulp-edma";
132+
reg = <0x40080000 0x2000>,
133+
<0x40210000 0x1000>;
134+
dma-channels = <32>;
135+
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
136+
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
137+
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
138+
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
139+
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
140+
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
141+
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
142+
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
143+
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
144+
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
145+
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
146+
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
147+
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
148+
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
149+
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
150+
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
151+
/* last is eDMA2-ERR interrupt */
152+
<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
153+
clock-names = "dma", "dmamux0";
154+
clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>;
155+
};

Documentation/devicetree/bindings/dma/fsl-edma.txt

Lines changed: 0 additions & 111 deletions
This file was deleted.

Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ properties:
2222
- items:
2323
- enum:
2424
- mediatek,mt2712-uart-dma
25+
- mediatek,mt8365-uart-dma
2526
- mediatek,mt8516-uart-dma
2627
- const: mediatek,mt6577-uart-dma
2728
- enum:

Documentation/devicetree/bindings/dma/nvidia,tegra186-gpc-dma.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ properties:
2323
oneOf:
2424
- const: nvidia,tegra186-gpcdma
2525
- items:
26-
- const: nvidia,tegra194-gpcdma
26+
- enum:
27+
- nvidia,tegra234-gpcdma
28+
- nvidia,tegra194-gpcdma
2729
- const: nvidia,tegra186-gpcdma
2830

2931
"#dma-cells":

Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@ properties:
3434
- const: axidma_apb_regs
3535

3636
interrupts:
37-
maxItems: 1
37+
description:
38+
If the IP-core synthesis parameter DMAX_INTR_IO_TYPE is set to 1, this
39+
will be per-channel interrupts. Otherwise, this is a single combined IRQ
40+
for all channels.
41+
minItems: 1
42+
maxItems: 8
3843

3944
clocks:
4045
items:

0 commit comments

Comments
 (0)