Skip to content

Commit 2a44cda

Browse files
committed
Merge tag 'dmaengine-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "This time we have bunch of driver updates and some new device support. New support: - Document RZ/V2L and RZ/G2UL dma binding - TI AM62x k3-udma and k3-psil support Updates: - Yaml conversion for Mediatek uart apdma schema - Removal of DMA-32 fallback configuration for various drivers - imx-sdma updates for channel restart" * tag 'dmaengine-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (23 commits) dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma dmaengine: dw-axi-dmac: cleanup comments dmaengine: fsl-dpaa2-qdma: Drop comma after SoC match table sentinel dt-bindings: dma: Convert mtk-uart-apdma to DT schema dmaengine: ppc4xx: Make use of the helper macro LIST_HEAD() dmaengine: idxd: Remove useless DMA-32 fallback configuration dmaengine: qcom_hidma: Remove useless DMA-32 fallback configuration dmaengine: sh: Kconfig: Add ARCH_R9A07G054 dependency for RZ_DMAC config option dmaengine: ti: k3-psil: Add AM62x PSIL and PDMA data dmaengine: ti: k3-udma: Add AM62x DMSS support dmaengine: ti: cleanup comments dmaengine: imx-sdma: clean up some inconsistent indenting dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" dmaengine: idxd: restore traffic class defaults after wq reset dmaengine: altera-msgdma: Remove useless DMA-32 fallback configuration dmaengine: stm32-dma: set dma_device max_sg_burst dmaengine: imx-sdma: fix cyclic buffer race condition dmaengine: imx-sdma: restart cyclic channel if needed dmaengine: iot: Remove useless DMA-32 fallback configuration dmaengine: ptdma: handle the cases based on DMA is complete ...
2 parents 2c54e18 + b95044b commit 2a44cda

26 files changed

+383
-103
lines changed
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/mediatek,uart-dma.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek UART APDMA controller
8+
9+
maintainers:
10+
- Long Cheng <long.cheng@mediatek.com>
11+
12+
description: |
13+
The MediaTek UART APDMA controller provides DMA capabilities
14+
for the UART peripheral bus.
15+
16+
allOf:
17+
- $ref: "dma-controller.yaml#"
18+
19+
properties:
20+
compatible:
21+
oneOf:
22+
- items:
23+
- enum:
24+
- mediatek,mt2712-uart-dma
25+
- mediatek,mt8516-uart-dma
26+
- const: mediatek,mt6577-uart-dma
27+
- enum:
28+
- mediatek,mt6577-uart-dma
29+
30+
reg:
31+
minItems: 1
32+
maxItems: 16
33+
34+
interrupts:
35+
description: |
36+
TX, RX interrupt lines for each UART APDMA channel
37+
minItems: 1
38+
maxItems: 16
39+
40+
clocks:
41+
description: Must contain one entry for the APDMA main clock
42+
maxItems: 1
43+
44+
clock-names:
45+
const: apdma
46+
47+
"#dma-cells":
48+
const: 1
49+
description: |
50+
The first cell specifies the UART APDMA channel number
51+
52+
dma-requests:
53+
description: |
54+
Number of virtual channels of the UART APDMA controller
55+
maximum: 16
56+
57+
mediatek,dma-33bits:
58+
type: boolean
59+
description: Enable 33-bits UART APDMA support
60+
61+
required:
62+
- compatible
63+
- reg
64+
- interrupts
65+
66+
additionalProperties: false
67+
68+
if:
69+
not:
70+
required:
71+
- dma-requests
72+
then:
73+
properties:
74+
interrupts:
75+
maxItems: 8
76+
reg:
77+
maxItems: 8
78+
79+
examples:
80+
- |
81+
#include <dt-bindings/interrupt-controller/arm-gic.h>
82+
#include <dt-bindings/clock/mt2712-clk.h>
83+
soc {
84+
#address-cells = <2>;
85+
#size-cells = <2>;
86+
87+
apdma: dma-controller@11000400 {
88+
compatible = "mediatek,mt2712-uart-dma",
89+
"mediatek,mt6577-uart-dma";
90+
reg = <0 0x11000400 0 0x80>,
91+
<0 0x11000480 0 0x80>,
92+
<0 0x11000500 0 0x80>,
93+
<0 0x11000580 0 0x80>,
94+
<0 0x11000600 0 0x80>,
95+
<0 0x11000680 0 0x80>,
96+
<0 0x11000700 0 0x80>,
97+
<0 0x11000780 0 0x80>,
98+
<0 0x11000800 0 0x80>,
99+
<0 0x11000880 0 0x80>,
100+
<0 0x11000900 0 0x80>,
101+
<0 0x11000980 0 0x80>;
102+
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_LOW>,
103+
<GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
104+
<GIC_SPI 105 IRQ_TYPE_LEVEL_LOW>,
105+
<GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>,
106+
<GIC_SPI 107 IRQ_TYPE_LEVEL_LOW>,
107+
<GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>,
108+
<GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>,
109+
<GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>,
110+
<GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>,
111+
<GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>,
112+
<GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>,
113+
<GIC_SPI 114 IRQ_TYPE_LEVEL_LOW>;
114+
dma-requests = <12>;
115+
clocks = <&pericfg CLK_PERI_AP_DMA>;
116+
clock-names = "apdma";
117+
mediatek,dma-33bits;
118+
#dma-cells = <1>;
119+
};
120+
};
121+
122+
...

Documentation/devicetree/bindings/dma/mtk-uart-apdma.txt

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

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
$id: http://devicetree.org/schemas/dma/renesas,rz-dmac.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Renesas RZ/G2L DMA Controller
7+
title: Renesas RZ/{G2L,G2UL,V2L} DMA Controller
88

99
maintainers:
1010
- Biju Das <biju.das.jz@bp.renesas.com>
@@ -16,7 +16,9 @@ properties:
1616
compatible:
1717
items:
1818
- enum:
19+
- renesas,r9a07g043-dmac # RZ/G2UL
1920
- renesas,r9a07g044-dmac # RZ/G2{L,LC}
21+
- renesas,r9a07g054-dmac # RZ/V2L
2022
- const: renesas,rz-dmac
2123

2224
reg:

drivers/dma/altera-msgdma.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -891,9 +891,7 @@ static int msgdma_probe(struct platform_device *pdev)
891891
ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
892892
if (ret) {
893893
dev_warn(&pdev->dev, "unable to set coherent mask to 64");
894-
ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
895-
if (ret)
896-
goto fail;
894+
goto fail;
897895
}
898896

899897
msgdma_reset(mdev);

drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: GPL-2.0
1+
// SPDX-License-Identifier: GPL-2.0
22
// (C) 2017-2018 Synopsys, Inc. (www.synopsys.com)
33

44
/*
@@ -35,7 +35,7 @@
3535
/*
3636
* The set of bus widths supported by the DMA controller. DW AXI DMAC supports
3737
* master data bus width up to 512 bits (for both AXI master interfaces), but
38-
* it depends on IP block configurarion.
38+
* it depends on IP block configuration.
3939
*/
4040
#define AXI_DMA_BUSWIDTHS \
4141
(DMA_SLAVE_BUSWIDTH_1_BYTE | \
@@ -1089,10 +1089,10 @@ static irqreturn_t dw_axi_dma_interrupt(int irq, void *dev_id)
10891089

10901090
u32 status, i;
10911091

1092-
/* Disable DMAC inerrupts. We'll enable them after processing chanels */
1092+
/* Disable DMAC interrupts. We'll enable them after processing channels */
10931093
axi_dma_irq_disable(chip);
10941094

1095-
/* Poll, clear and process every chanel interrupt status */
1095+
/* Poll, clear and process every channel interrupt status */
10961096
for (i = 0; i < dw->hdata->nr_channels; i++) {
10971097
chan = &dw->chan[i];
10981098
status = axi_chan_irq_read(chan);

drivers/dma/dw-axi-dmac/dw-axi-dmac.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: GPL-2.0
1+
/* SPDX-License-Identifier: GPL-2.0 */
22
// (C) 2017-2018 Synopsys, Inc. (www.synopsys.com)
33

44
/*

drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ struct dpaa2_qdma_priv_per_prio {
139139

140140
static struct soc_device_attribute soc_fixup_tuning[] = {
141141
{ .family = "QorIQ LX2160A"},
142-
{ },
142+
{ /* sentinel */ }
143143
};
144144

145145
/* FD pool size: one FD + 3 Frame list + 2 source/destination descriptor */

drivers/dma/hisi_dma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#define HISI_DMA_MODE 0x217c
3131
#define HISI_DMA_OFFSET 0x100
3232

33-
#define HISI_DMA_MSI_NUM 30
33+
#define HISI_DMA_MSI_NUM 32
3434
#define HISI_DMA_CHAN_NUM 30
3535
#define HISI_DMA_Q_DEPTH_VAL 1024
3636

drivers/dma/idxd/device.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -681,8 +681,13 @@ static void idxd_groups_clear_state(struct idxd_device *idxd)
681681
group->use_rdbuf_limit = false;
682682
group->rdbufs_allowed = 0;
683683
group->rdbufs_reserved = 0;
684-
group->tc_a = -1;
685-
group->tc_b = -1;
684+
if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) {
685+
group->tc_a = 1;
686+
group->tc_b = 1;
687+
} else {
688+
group->tc_a = -1;
689+
group->tc_b = -1;
690+
}
686691
}
687692
}
688693

drivers/dma/idxd/init.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -604,8 +604,6 @@ static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
604604

605605
dev_dbg(dev, "Set DMA masks\n");
606606
rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
607-
if (rc)
608-
rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
609607
if (rc)
610608
goto err;
611609

0 commit comments

Comments
 (0)