Skip to content

Commit d4e034b

Browse files
committed
Merge tag 'dmaengine-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "New HW support: - Freescale i.MX8ULP edma support in edma driver - StarFive JH8100 DMA support in Synopsis axi-dmac driver Updates: - Tracing support for freescale edma driver, updates to dpaa2 driver - Remove unused QCom hidma DT support - Support for i2c dma in imx-sdma - Maintainers update for idxd and edma drivers" * tag 'dmaengine-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (42 commits) MAINTAINERS: Update role for IDXD driver dmaengine: fsl-edma: use _Generic to handle difference type dmaengine: fsl-edma: add trace event support dmaengine: idxd: Avoid unnecessary destruction of file_ida dmaengine: xilinx: xdma: fix module autoloading dt-bindings: dma: fsl-edma: allow 'power-domains' property dt-bindings: dma: fsl-edma: remove 'clocks' from required dmaengine: fsl-dpaa2-qdma: Fix kernel-doc check warning dmaengine: imx-sdma: Add i2c dma support dmaengine: imx-sdma: utilize compiler to calculate ADDRS_ARRAY_SIZE_V<n> dt-bindings: fsl-imx-sdma: Add I2C peripheral types ID dt-bindings: fsl-dma: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string dmaengine: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string dt-bindings: dma: Drop unused QCom hidma binding dmaengine: qcom: Drop hidma DT support dmaengine: pl08x: Use kcalloc() instead of kzalloc() dmaengine: fsl-dpaa2-qdma: Update DPDMAI interfaces to version 3 dmaengine: fsl-edma: fix miss mutex unlock at an error return path dmaengine: pch_dma: remove unused function chan2parent dmaengine: fsl-dpaa2-qdma: Add dpdmai_cmd_open ...
2 parents 34dcc46 + 28059dd commit d4e034b

31 files changed

+620
-574
lines changed

Documentation/devicetree/bindings/dma/fsl,edma.yaml

Lines changed: 96 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ properties:
2121
- enum:
2222
- fsl,vf610-edma
2323
- fsl,imx7ulp-edma
24-
- fsl,imx8qm-adma
2524
- fsl,imx8qm-edma
25+
- fsl,imx8ulp-edma
2626
- fsl,imx93-edma3
2727
- fsl,imx93-edma4
2828
- fsl,imx95-edma5
@@ -43,6 +43,17 @@ properties:
4343
maxItems: 64
4444

4545
"#dma-cells":
46+
description: |
47+
Specifies the number of cells needed to encode an DMA channel.
48+
49+
Encode for cells number 2:
50+
cell 0: index of dma channel mux instance.
51+
cell 1: peripheral dma request id.
52+
53+
Encode for cells number 3:
54+
cell 0: peripheral dma request id.
55+
cell 1: dma channel priority.
56+
cell 2: bitmask, defined at include/dt-bindings/dma/fsl-edma.h
4657
enum:
4758
- 2
4859
- 3
@@ -53,11 +64,18 @@ properties:
5364

5465
clocks:
5566
minItems: 1
56-
maxItems: 2
67+
maxItems: 33
5768

5869
clock-names:
5970
minItems: 1
60-
maxItems: 2
71+
maxItems: 33
72+
73+
power-domains:
74+
description:
75+
The number of power domains matches the number of channels, arranged
76+
in ascending order according to their associated DMA channels.
77+
minItems: 1
78+
maxItems: 64
6179

6280
big-endian:
6381
description: |
@@ -70,7 +88,6 @@ required:
7088
- compatible
7189
- reg
7290
- interrupts
73-
- clocks
7491
- dma-channels
7592

7693
allOf:
@@ -80,7 +97,6 @@ allOf:
8097
compatible:
8198
contains:
8299
enum:
83-
- fsl,imx8qm-adma
84100
- fsl,imx8qm-edma
85101
- fsl,imx93-edma3
86102
- fsl,imx93-edma4
@@ -108,6 +124,7 @@ allOf:
108124
properties:
109125
clocks:
110126
minItems: 2
127+
maxItems: 2
111128
clock-names:
112129
items:
113130
- const: dmamux0
@@ -136,6 +153,7 @@ allOf:
136153
properties:
137154
clock:
138155
minItems: 2
156+
maxItems: 2
139157
clock-names:
140158
items:
141159
- const: dma
@@ -151,6 +169,58 @@ allOf:
151169
dma-channels:
152170
const: 32
153171

172+
- if:
173+
properties:
174+
compatible:
175+
contains:
176+
const: fsl,imx8ulp-edma
177+
then:
178+
properties:
179+
clocks:
180+
minItems: 33
181+
clock-names:
182+
minItems: 33
183+
items:
184+
oneOf:
185+
- const: dma
186+
- pattern: "^ch(0[0-9]|[1-2][0-9]|3[01])$"
187+
188+
interrupt-names: false
189+
interrupts:
190+
minItems: 32
191+
"#dma-cells":
192+
const: 3
193+
194+
- if:
195+
properties:
196+
compatible:
197+
contains:
198+
enum:
199+
- fsl,vf610-edma
200+
- fsl,imx7ulp-edma
201+
- fsl,imx93-edma3
202+
- fsl,imx93-edma4
203+
- fsl,imx95-edma5
204+
- fsl,imx8ulp-edma
205+
- fsl,ls1028a-edma
206+
then:
207+
required:
208+
- clocks
209+
210+
- if:
211+
properties:
212+
compatible:
213+
contains:
214+
enum:
215+
- fsl,imx8qm-adma
216+
- fsl,imx8qm-edma
217+
then:
218+
required:
219+
- power-domains
220+
else:
221+
properties:
222+
power-domains: false
223+
154224
unevaluatedProperties: false
155225

156226
examples:
@@ -206,44 +276,27 @@ examples:
206276
207277
- |
208278
#include <dt-bindings/interrupt-controller/arm-gic.h>
209-
#include <dt-bindings/clock/imx93-clock.h>
279+
#include <dt-bindings/firmware/imx/rsrc.h>
210280
211-
dma-controller@44000000 {
212-
compatible = "fsl,imx93-edma3";
213-
reg = <0x44000000 0x200000>;
281+
dma-controller@5a9f0000 {
282+
compatible = "fsl,imx8qm-edma";
283+
reg = <0x5a9f0000 0x90000>;
214284
#dma-cells = <3>;
215-
dma-channels = <31>;
216-
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
217-
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
218-
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
219-
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
220-
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
221-
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
222-
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
223-
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
224-
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
225-
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
226-
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
227-
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
228-
<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
229-
<GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
230-
<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
231-
<GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
232-
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
233-
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
234-
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
235-
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
236-
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
237-
<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
238-
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
239-
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
240-
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
241-
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
242-
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
243-
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
244-
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
245-
<GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
246-
<GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
247-
clocks = <&clk IMX93_CLK_EDMA1_GATE>;
248-
clock-names = "dma";
285+
dma-channels = <8>;
286+
interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
287+
<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
288+
<GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
289+
<GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
290+
<GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
291+
<GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
292+
<GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
293+
<GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>;
294+
power-domains = <&pd IMX_SC_R_DMA_3_CH0>,
295+
<&pd IMX_SC_R_DMA_3_CH1>,
296+
<&pd IMX_SC_R_DMA_3_CH2>,
297+
<&pd IMX_SC_R_DMA_3_CH3>,
298+
<&pd IMX_SC_R_DMA_3_CH4>,
299+
<&pd IMX_SC_R_DMA_3_CH5>,
300+
<&pd IMX_SC_R_DMA_3_CH6>,
301+
<&pd IMX_SC_R_DMA_3_CH7>;
249302
};

Documentation/devicetree/bindings/dma/fsl,imx-sdma.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ properties:
9494
- SAI: 24
9595
- Multi SAI: 25
9696
- HDMI Audio: 26
97+
- I2C: 27
9798
9899
The third cell: transfer priority ID
99100
enum:

Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt

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

Documentation/devicetree/bindings/dma/snps,dma-spear1340.yaml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,10 @@ properties:
9393
data-width:
9494
$ref: /schemas/types.yaml#/definitions/uint32-array
9595
description: Data bus width per each DMA master in bytes.
96+
minItems: 1
97+
maxItems: 4
9698
items:
97-
maxItems: 4
98-
items:
99-
enum: [4, 8, 16, 32]
99+
enum: [4, 8, 16, 32]
100100

101101
data_width:
102102
$ref: /schemas/types.yaml#/definitions/uint32-array
@@ -106,28 +106,28 @@ properties:
106106
deprecated. It' usage is discouraged in favor of data-width one. Moreover
107107
the property incorrectly permits to define data-bus width of 8 and 16
108108
bits, which is impossible in accordance with DW DMAC IP-core data book.
109+
minItems: 1
110+
maxItems: 4
109111
items:
110-
maxItems: 4
111-
items:
112-
enum:
113-
- 0 # 8 bits
114-
- 1 # 16 bits
115-
- 2 # 32 bits
116-
- 3 # 64 bits
117-
- 4 # 128 bits
118-
- 5 # 256 bits
119-
default: 0
112+
enum:
113+
- 0 # 8 bits
114+
- 1 # 16 bits
115+
- 2 # 32 bits
116+
- 3 # 64 bits
117+
- 4 # 128 bits
118+
- 5 # 256 bits
119+
default: 0
120120

121121
multi-block:
122122
$ref: /schemas/types.yaml#/definitions/uint32-array
123123
description: |
124124
LLP-based multi-block transfer supported by hardware per
125125
each DMA channel.
126+
minItems: 1
127+
maxItems: 8
126128
items:
127-
maxItems: 8
128-
items:
129-
enum: [0, 1]
130-
default: 1
129+
enum: [0, 1]
130+
default: 1
131131

132132
snps,max-burst-len:
133133
$ref: /schemas/types.yaml#/definitions/uint32-array
@@ -138,11 +138,11 @@ properties:
138138
will be from 1 to max-burst-len words. It's an array property with one
139139
cell per channel in the units determined by the value set in the
140140
CTLx.SRC_TR_WIDTH/CTLx.DST_TR_WIDTH fields (data width).
141+
minItems: 1
142+
maxItems: 8
141143
items:
142-
maxItems: 8
143-
items:
144-
enum: [4, 8, 16, 32, 64, 128, 256]
145-
default: 256
144+
enum: [4, 8, 16, 32, 64, 128, 256]
145+
default: 256
146146

147147
snps,dma-protection-control:
148148
$ref: /schemas/types.yaml#/definitions/uint32

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ properties:
2121
- snps,axi-dma-1.01a
2222
- intel,kmb-axi-dma
2323
- starfive,jh7110-axi-dma
24+
- starfive,jh8100-axi-dma
2425

2526
reg:
2627
minItems: 1

0 commit comments

Comments
 (0)