Skip to content

Commit 9961315

Browse files
committed
Merge tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "A bunch of new support and few updates to drivers: New support: - DMA_MEMCPY_SG support is bought back as we have a user in Xilinx driver - Support for TI J721S2 SoC in k3-udma driver - Support for Ingenic MDMA and BDMA in the JZ4760 - Support for Renesas r8a779f0 dmac Updates: - We are finally getting rid of slave_id, so this brings in the changes across tree for that - updates for idxd driver - at_xdmac driver cleanup" * tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (60 commits) dt-bindings: dma-controller: Split interrupt fields in example dmaengine: pch_dma: Remove usage of the deprecated "pci-dma-compat.h" API dmaengine: at_xdmac: Fix race over irq_status dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_tasklet() dmaengine: at_xdmac: Fix at_xdmac_lld struct definition dmaengine: at_xdmac: Fix lld view setting dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_advance_work() dmaengine: at_xdmac: Fix concurrency over xfers_list dmaengine: at_xdmac: Move the free desc to the tail of the desc list dmaengine: at_xdmac: Fix race for the tx desc callback dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie dmaengine: at_xdmac: Print debug message after realeasing the lock dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending dmaengine: at_xdmac: Don't start transactions at tx_submit level dmaengine: idxd: deprecate token sysfs attributes for read buffers dmaengine: idxd: change bandwidth token to read buffers dmaengine: idxd: fix wq settings post wq disable dmaengine: idxd: change MSIX allocation based on per wq activation dmaengine: idxd: fix descriptor flushing locking dmaengine: idxd: embed irq_entry in idxd_wq struct ...
2 parents fe81ba1 + bbd0ff0 commit 9961315

Some content is hidden

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

41 files changed

+1465
-655
lines changed

Documentation/ABI/stable/sysfs-driver-dma-idxd

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ KernelVersion: 5.6.0
4141
Contact: dmaengine@vger.kernel.org
4242
Description: The maximum number of groups can be created under this device.
4343

44-
What: /sys/bus/dsa/devices/dsa<m>/max_tokens
45-
Date: Oct 25, 2019
46-
KernelVersion: 5.6.0
44+
What: /sys/bus/dsa/devices/dsa<m>/max_read_buffers
45+
Date: Dec 10, 2021
46+
KernelVersion: 5.17.0
4747
Contact: dmaengine@vger.kernel.org
48-
Description: The total number of bandwidth tokens supported by this device.
49-
The bandwidth tokens represent resources within the DSA
48+
Description: The total number of read buffers supported by this device.
49+
The read buffers represent resources within the DSA
5050
implementation, and these resources are allocated by engines to
51-
support operations.
51+
support operations. See DSA spec v1.2 9.2.4 Total Read Buffers.
5252

5353
What: /sys/bus/dsa/devices/dsa<m>/max_transfer_size
5454
Date: Oct 25, 2019
@@ -115,13 +115,13 @@ KernelVersion: 5.6.0
115115
Contact: dmaengine@vger.kernel.org
116116
Description: To indicate if this device is configurable or not.
117117

118-
What: /sys/bus/dsa/devices/dsa<m>/token_limit
119-
Date: Oct 25, 2019
120-
KernelVersion: 5.6.0
118+
What: /sys/bus/dsa/devices/dsa<m>/read_buffer_limit
119+
Date: Dec 10, 2021
120+
KernelVersion: 5.17.0
121121
Contact: dmaengine@vger.kernel.org
122-
Description: The maximum number of bandwidth tokens that may be in use at
122+
Description: The maximum number of read buffers that may be in use at
123123
one time by operations that access low bandwidth memory in the
124-
device.
124+
device. See DSA spec v1.2 9.2.8 GENCFG on Global Read Buffer Limit.
125125

126126
What: /sys/bus/dsa/devices/dsa<m>/cmd_status
127127
Date: Aug 28, 2020
@@ -220,8 +220,38 @@ Contact: dmaengine@vger.kernel.org
220220
Description: Show the current number of entries in this WQ if WQ Occupancy
221221
Support bit WQ capabilities is 1.
222222

223+
What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
224+
Date Oct 29, 2021
225+
KernelVersion: 5.17.0
226+
Contact: dmaengine@vger.kernel.org
227+
Description: Indicate the number of retires for an enqcmds submission on a sharedwq.
228+
A max value to set attribute is capped at 64.
229+
223230
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
224231
Date: Oct 25, 2019
225232
KernelVersion: 5.6.0
226233
Contact: dmaengine@vger.kernel.org
227234
Description: The group that this engine belongs to.
235+
236+
What: /sys/bus/dsa/devices/group<m>.<n>/use_read_buffer_limit
237+
Date: Dec 10, 2021
238+
KernelVersion: 5.17.0
239+
Contact: dmaengine@vger.kernel.org
240+
Description: Enable the use of global read buffer limit for the group. See DSA
241+
spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit.
242+
243+
What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_allowed
244+
Date: Dec 10, 2021
245+
KernelVersion: 5.17.0
246+
Contact: dmaengine@vger.kernel.org
247+
Description: Indicates max number of read buffers that may be in use at one time
248+
by all engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read
249+
Buffers Allowed.
250+
251+
What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_reserved
252+
Date: Dec 10, 2021
253+
KernelVersion: 5.17.0
254+
Contact: dmaengine@vger.kernel.org
255+
Description: Indicates the number of Read Buffers reserved for the use of
256+
engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read Buffers
257+
Reserved.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/arm,pl330.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ARM PrimeCell PL330 DMA Controller
8+
9+
maintainers:
10+
- Vinod Koul <vkoul@kernel.org>
11+
12+
description:
13+
The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
14+
between memory and peripherals or memory to memory.
15+
16+
# We need a select here so we don't match all nodes with 'arm,primecell'
17+
select:
18+
properties:
19+
compatible:
20+
contains:
21+
const: arm,pl330
22+
required:
23+
- compatible
24+
25+
allOf:
26+
- $ref: dma-controller.yaml#
27+
- $ref: /schemas/arm/primecell.yaml#
28+
29+
properties:
30+
compatible:
31+
items:
32+
- enum:
33+
- arm,pl330
34+
- const: arm,primecell
35+
36+
reg:
37+
maxItems: 1
38+
39+
interrupts:
40+
minItems: 1
41+
maxItems: 32
42+
description: A single combined interrupt or an interrupt per event
43+
44+
'#dma-cells':
45+
const: 1
46+
description: Contains the DMA request number for the consumer
47+
48+
arm,pl330-broken-no-flushp:
49+
type: boolean
50+
description: quirk for avoiding to execute DMAFLUSHP
51+
52+
arm,pl330-periph-burst:
53+
type: boolean
54+
description: quirk for performing burst transfer only
55+
56+
dma-coherent: true
57+
58+
resets:
59+
minItems: 1
60+
maxItems: 2
61+
62+
reset-names:
63+
minItems: 1
64+
items:
65+
- const: dma
66+
- const: dma-ocp
67+
68+
required:
69+
- compatible
70+
- reg
71+
- interrupts
72+
73+
unevaluatedProperties: false
74+
75+
examples:
76+
- |
77+
dma-controller@12680000 {
78+
compatible = "arm,pl330", "arm,primecell";
79+
reg = <0x12680000 0x1000>;
80+
interrupts = <99>;
81+
#dma-cells = <1>;
82+
};
83+
...

Documentation/devicetree/bindings/dma/arm-pl08x.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ maintainers:
1010
- Vinod Koul <vkoul@kernel.org>
1111

1212
allOf:
13+
- $ref: /schemas/arm/primecell.yaml#
1314
- $ref: "dma-controller.yaml#"
1415

1516
# We need a select here so we don't match all nodes with 'arm,primecell'
@@ -89,6 +90,9 @@ properties:
8990
- 64
9091
description: bus width used for memcpy in bits. FTDMAC020 also accept 64 bits
9192

93+
resets:
94+
maxItems: 1
95+
9296
required:
9397
- reg
9498
- interrupts

Documentation/devicetree/bindings/dma/arm-pl330.txt

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

Documentation/devicetree/bindings/dma/dma-controller.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ examples:
2424
dma: dma-controller@48000000 {
2525
compatible = "ti,omap-sdma";
2626
reg = <0x48000000 0x1000>;
27-
interrupts = <0 12 0x4
28-
0 13 0x4
29-
0 14 0x4
30-
0 15 0x4>;
27+
interrupts = <0 12 0x4>,
28+
<0 13 0x4>,
29+
<0 14 0x4>,
30+
<0 15 0x4>;
3131
#dma-cells = <1>;
3232
dma-channels = <32>;
3333
dma-requests = <127>;

Documentation/devicetree/bindings/dma/ingenic,dma.yaml

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,23 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- ingenic,jz4740-dma
19-
- ingenic,jz4725b-dma
20-
- ingenic,jz4760-dma
21-
- ingenic,jz4760b-dma
22-
- ingenic,jz4770-dma
23-
- ingenic,jz4780-dma
24-
- ingenic,x1000-dma
25-
- ingenic,x1830-dma
17+
oneOf:
18+
- enum:
19+
- ingenic,jz4740-dma
20+
- ingenic,jz4725b-dma
21+
- ingenic,jz4760-dma
22+
- ingenic,jz4760-bdma
23+
- ingenic,jz4760-mdma
24+
- ingenic,jz4760b-dma
25+
- ingenic,jz4760b-bdma
26+
- ingenic,jz4760b-mdma
27+
- ingenic,jz4770-dma
28+
- ingenic,jz4780-dma
29+
- ingenic,x1000-dma
30+
- ingenic,x1830-dma
31+
- items:
32+
- const: ingenic,jz4770-bdma
33+
- const: ingenic,jz4760b-bdma
2634

2735
reg:
2836
items:
@@ -36,13 +44,19 @@ properties:
3644
maxItems: 1
3745

3846
"#dma-cells":
39-
const: 2
47+
enum: [2, 3]
4048
description: >
4149
DMA clients must use the format described in dma.txt, giving a phandle
42-
to the DMA controller plus the following 2 integer cells:
43-
44-
- Request type: The DMA request type for transfers to/from the
45-
device on the allocated channel, as defined in the SoC documentation.
50+
to the DMA controller plus the following integer cells:
51+
52+
- Request type: The DMA request type specifies the device endpoint that
53+
will be the source or destination of the DMA transfer.
54+
If "#dma-cells" is 2, the request type is a single cell, and the
55+
direction will be unidirectional (either RX or TX but not both).
56+
If "#dma-cells" is 3, the request type has two cells; the first
57+
one corresponds to the host to device direction (TX), the second one
58+
corresponds to the device to host direction (RX). The DMA channel is
59+
then bidirectional.
4660
4761
- Channel: If set to 0xffffffff, any available channel will be allocated
4862
for the client. Otherwise, the exact channel specified will be used.

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ properties:
4444
- items:
4545
- const: renesas,dmac-r8a779a0 # R-Car V3U
4646

47+
- items:
48+
- const: renesas,dmac-r8a779f0 # R-Car S4-8
49+
- const: renesas,rcar-gen4-dmac
50+
4751
reg: true
4852

4953
interrupts:
@@ -118,6 +122,7 @@ if:
118122
contains:
119123
enum:
120124
- renesas,dmac-r8a779a0
125+
- renesas,rcar-gen4-dmac
121126
then:
122127
properties:
123128
reg:

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ properties:
5353
minimum: 1
5454
maximum: 8
5555

56+
resets:
57+
maxItems: 1
58+
5659
snps,dma-masters:
5760
description: |
5861
Number of AXI masters supported by the hardware.

Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ description: |
3030
3131
allOf:
3232
- $ref: /schemas/dma/dma-controller.yaml#
33+
- $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
3334

3435
properties:
3536
compatible:

Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ description: |
2525
2626
allOf:
2727
- $ref: /schemas/dma/dma-controller.yaml#
28+
- $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
2829

2930
properties:
3031
compatible:

0 commit comments

Comments
 (0)