Skip to content

Commit bfdf35c

Browse files
committed
Merge tag 'dmaengine-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "A fairly small update for the dmaengine subsystem. This has a new ARM dmaengine driver and couple of new device support and few driver changes: New support: - Renesas RZ/V2H(P) dma support for r9a09g057 - Arm DMA-350 driver - Tegra Tegra264 ADMA support Updates: - AMD ptdma driver code removal and optimizations - Freescale edma error interrupt handler support" * tag 'dmaengine-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (27 commits) dmaengine: idxd: Remove unused pointer and macro arm64: dts: renesas: r9a09g057: Add DMAC nodes dmaengine: sh: rz-dmac: Add RZ/V2H(P) support dmaengine: sh: rz-dmac: Allow for multiple DMACs irqchip/renesas-rzv2h: Add rzv2h_icu_register_dma_req() dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H dmaengine: idxd: Narrow the restriction on BATCH to ver. 1 only dmaengine: ti: Add NULL check in udma_probe() fsldma: Set correct dma_mask based on hw capability dmaengine: idxd: Check availability of workqueue allocated by idxd wq driver before using dmaengine: xilinx_dma: Set dma_device directions dmaengine: tegra210-adma: Add Tegra264 support dt-bindings: Document Tegra264 ADMA support dmaengine: dw-edma: Add HDMA NATIVE map check dmaegnine: fsl-edma: add edma error interrupt handler dt-bindings: dma: fsl-edma: increase maxItems of interrupts and interrupt-names dmaengine: ARM_DMA350 should depend on ARM/ARM64 dt-bindings: dma: qcom,bam: Document dma-coherent property dmaengine: Add Arm DMA-350 driver ...
2 parents d12ed2b + 3c018bf commit bfdf35c

29 files changed

+1463
-106
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/arm,dma-350.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Arm CoreLink DMA-350 Controller
8+
9+
maintainers:
10+
- Robin Murphy <[email protected]>
11+
12+
allOf:
13+
- $ref: dma-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: arm,dma-350
18+
19+
reg:
20+
items:
21+
- description: Base and size of the full register map
22+
23+
interrupts:
24+
minItems: 1
25+
items:
26+
- description: Channel 0 interrupt
27+
- description: Channel 1 interrupt
28+
- description: Channel 2 interrupt
29+
- description: Channel 3 interrupt
30+
- description: Channel 4 interrupt
31+
- description: Channel 5 interrupt
32+
- description: Channel 6 interrupt
33+
- description: Channel 7 interrupt
34+
35+
"#dma-cells":
36+
const: 1
37+
description: The cell is the trigger input number
38+
39+
required:
40+
- compatible
41+
- reg
42+
- interrupts
43+
44+
unevaluatedProperties: false

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ properties:
4848

4949
interrupts:
5050
minItems: 1
51-
maxItems: 64
51+
maxItems: 65
5252

5353
interrupt-names:
5454
minItems: 1
55-
maxItems: 64
55+
maxItems: 65
5656

5757
"#dma-cells":
5858
description: |

Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ properties:
1919
- enum:
2020
- nvidia,tegra210-adma
2121
- nvidia,tegra186-adma
22+
- nvidia,tegra264-adma
2223
- items:
2324
- enum:
2425
- nvidia,tegra234-adma
@@ -92,6 +93,7 @@ allOf:
9293
contains:
9394
enum:
9495
- nvidia,tegra186-adma
96+
- nvidia,tegra264-adma
9597
then:
9698
anyOf:
9799
- properties:

Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ properties:
4242
interrupts:
4343
maxItems: 1
4444

45+
dma-coherent: true
46+
4547
iommus:
4648
minItems: 1
4749
maxItems: 6

Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml

Lines changed: 89 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,23 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
items:
15-
- enum:
16-
- renesas,r7s72100-dmac # RZ/A1H
17-
- renesas,r9a07g043-dmac # RZ/G2UL and RZ/Five
18-
- renesas,r9a07g044-dmac # RZ/G2{L,LC}
19-
- renesas,r9a07g054-dmac # RZ/V2L
20-
- renesas,r9a08g045-dmac # RZ/G3S
21-
- const: renesas,rz-dmac
14+
oneOf:
15+
- items:
16+
- enum:
17+
- renesas,r7s72100-dmac # RZ/A1H
18+
- renesas,r9a07g043-dmac # RZ/G2UL and RZ/Five
19+
- renesas,r9a07g044-dmac # RZ/G2{L,LC}
20+
- renesas,r9a07g054-dmac # RZ/V2L
21+
- renesas,r9a08g045-dmac # RZ/G3S
22+
- const: renesas,rz-dmac
23+
24+
- const: renesas,r9a09g057-dmac # RZ/V2H(P)
2225

2326
reg:
2427
items:
2528
- description: Control and channel register block
2629
- description: DMA extended resource selector block
30+
minItems: 1
2731

2832
interrupts:
2933
maxItems: 17
@@ -52,6 +56,7 @@ properties:
5256
items:
5357
- description: DMA main clock
5458
- description: DMA register access clock
59+
minItems: 1
5560

5661
clock-names:
5762
items:
@@ -61,10 +66,10 @@ properties:
6166
'#dma-cells':
6267
const: 1
6368
description:
64-
The cell specifies the encoded MID/RID values of the DMAC port
65-
connected to the DMA client and the slave channel configuration
66-
parameters.
67-
bits[0:9] - Specifies MID/RID value
69+
The cell specifies the encoded MID/RID or the REQ No values of
70+
the DMAC port connected to the DMA client and the slave channel
71+
configuration parameters.
72+
bits[0:9] - Specifies the MID/RID or the REQ No value
6873
bit[10] - Specifies DMA request high enable (HIEN)
6974
bit[11] - Specifies DMA request detection type (LVL)
7075
bits[12:14] - Specifies DMAACK output mode (AM)
@@ -80,12 +85,26 @@ properties:
8085
items:
8186
- description: Reset for DMA ARESETN reset terminal
8287
- description: Reset for DMA RST_ASYNC reset terminal
88+
minItems: 1
8389

8490
reset-names:
8591
items:
8692
- const: arst
8793
- const: rst_async
8894

95+
renesas,icu:
96+
description:
97+
It must contain the phandle to the ICU and the index of the DMAC as seen
98+
from the ICU.
99+
$ref: /schemas/types.yaml#/definitions/phandle-array
100+
items:
101+
- items:
102+
- description: Phandle to the ICU node.
103+
- description:
104+
The number of the DMAC as seen from the ICU, i.e. parameter k from
105+
register ICU_DMkSELy. This may differ from the actual DMAC instance
106+
number.
107+
89108
required:
90109
- compatible
91110
- reg
@@ -98,20 +117,72 @@ allOf:
98117
- $ref: dma-controller.yaml#
99118

100119
- if:
101-
not:
102-
properties:
103-
compatible:
104-
contains:
105-
enum:
106-
- renesas,r7s72100-dmac
120+
properties:
121+
compatible:
122+
contains:
123+
enum:
124+
- renesas,r9a07g043-dmac
125+
- renesas,r9a07g044-dmac
126+
- renesas,r9a07g054-dmac
127+
- renesas,r9a08g045-dmac
107128
then:
129+
properties:
130+
reg:
131+
minItems: 2
132+
clocks:
133+
minItems: 2
134+
resets:
135+
minItems: 2
136+
137+
renesas,icu: false
138+
108139
required:
109140
- clocks
110141
- clock-names
111142
- power-domains
112143
- resets
113144
- reset-names
114145

146+
- if:
147+
properties:
148+
compatible:
149+
contains:
150+
const: renesas,r7s72100-dmac
151+
then:
152+
properties:
153+
reg:
154+
minItems: 2
155+
156+
clocks: false
157+
clock-names: false
158+
power-domains: false
159+
resets: false
160+
reset-names: false
161+
renesas,icu: false
162+
163+
- if:
164+
properties:
165+
compatible:
166+
contains:
167+
const: renesas,r9a09g057-dmac
168+
then:
169+
properties:
170+
reg:
171+
maxItems: 1
172+
clocks:
173+
maxItems: 1
174+
resets:
175+
maxItems: 1
176+
177+
clock-names: false
178+
reset-names: false
179+
180+
required:
181+
- clocks
182+
- power-domains
183+
- renesas,icu
184+
- resets
185+
115186
additionalProperties: false
116187

117188
examples:

Documentation/driver-api/dmaengine/provider.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ Currently, the types available are:
172172
- It's usually used for copying pixel data between host memory and
173173
memory-mapped GPU device memory, such as found on modern PCI video graphics
174174
cards. The most immediate example is the OpenGL API function
175-
``glReadPielx()``, which might require a verbatim copy of a huge framebuffer
176-
from local device memory onto host memory.
175+
``glReadPixels()``, which might require a verbatim copy of a huge
176+
framebuffer from local device memory onto host memory.
177177

178178
- DMA_XOR
179179

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10781,7 +10781,7 @@ F: net/dsa/tag_hellcreek.c
1078110781

1078210782
HISILICON DMA DRIVER
1078310783
M: Zhou Wang <[email protected]>
10784-
M: Jie Hai <haijie1@huawei.com>
10784+
M: Longfang Liu <liulongfang@huawei.com>
1078510785
1078610786
S: Maintained
1078710787
F: drivers/dma/hisi_dma.c

0 commit comments

Comments
 (0)