projects/linux·commit 708283ab

Merge tag 'dmaengine-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine

708283ab · Linus Torvalds <[email protected]> · 2023-09-03 10:49:42 -07:00

Pull dmaengine updates from Vinod Koul:
 "New controller support and updates to drivers.

  New support:
   - Qualcomm SM6115 and QCM2290 dmaengine support
   - at_xdma support for microchip,sam9x7 controller

  Updates:
   - idxd updates for wq simplification and ats knob updates
   - fsl edma updates for v3 support
   - Xilinx AXI4-Stream control support
   - Yaml conversion for bcm dma binding"

* tag 'dmaengine-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (53 commits)
  dmaengine: fsl-edma: integrate v3 support
  dt-bindings: fsl-dma: fsl-edma: add edma3 compatible string
  dmaengine: fsl-edma: move tcd into struct fsl_dma_chan
  dmaengine: fsl-edma: refactor chan_name setup and safety
  dmaengine: fsl-edma: move clearing of register interrupt into setup_irq function
  dmaengine: fsl-edma: refactor using devm_clk_get_enabled
  dmaengine: fsl-edma: simply ATTR_DSIZE and ATTR_SSIZE by using ffs()
  dmaengine: fsl-edma: move common IRQ handler to common.c
  dmaengine: fsl-edma: Remove enum edma_version
  dmaengine: fsl-edma: transition from bool fields to bitmask flags in drvdata
  dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c
  dmaengine: fsl-edma: fix build error when arch is s390
  dmaengine: idxd: Fix issues with PRS disable sysfs knob
  dmaengine: idxd: Allow ATS disable update only for configurable devices
  dmaengine: xilinx_dma: Program interrupt delay timeout
  dmaengine: xilinx_dma: Use tasklet_hi_schedule for timing critical usecase
  dmaengine: xilinx_dma: Freeup active list based on descriptor completion bit
  dmaengine: xilinx_dma: Increase AXI DMA transaction segment count
  dmaengine: xilinx_dma: Pass AXI4-Stream control words to dma client
  dt-bindings: dmaengine: xilinx_dma: Add xlnx,irq-delay property
  ...
Commit
708283abf896dd4853e673cc8cba70acaf9bf4ea
Parents
db906f0c · 72f5801a

Merge commit. Changes below are compared with the first parent: db906f0c.

Changes

71 files changed · +998 −2871

FileStatusAddDelContent
Documentation/ABI/stable/sysfs-driver-dma-idxdmodified+1−1View file
Documentation/devicetree/bindings/dma/atmel-xdma.txtmodified+2−1View file
Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txtdeleted+0−83View before deletion
Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.yamladded+102−0View file
Documentation/devicetree/bindings/dma/fsl,edma.yamlmodified+99−7View file
Documentation/devicetree/bindings/dma/qcom,bam-dma.yamlmodified+23−8View file
Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txtmodified+6−0View file
drivers/dma/Kconfigmodified+1−20View file
drivers/dma/Makefilemodified+4−3View file
drivers/dma/apple-admac.cmodified+2−1View file
drivers/dma/at_hdmac.cmodified+1−1View file
drivers/dma/bcm-sba-raid.cmodified+3−1View file
drivers/dma/bestcomm/bestcomm.cmodified+1−2View file
drivers/dma/dma-jz4780.cmodified+0−1View file
drivers/dma/dmaengine.cmodified+20−62View file
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.cmodified+0−1View file
drivers/dma/dw/rzn1-dmamux.cmodified+3−1View file
drivers/dma/ep93xx_dma.cmodified+1−3View file
drivers/dma/fsl-edma-common.cmodified+210−97View file
drivers/dma/fsl-edma-common.hmodified+106−21View file
drivers/dma/fsl-edma.c → drivers/dma/fsl-edma-main.crenamed+253−60View file
drivers/dma/fsl-qdma.cmodified+2−2View file
drivers/dma/fsl_raid.cmodified+2−1View file
drivers/dma/fsldma.cmodified+2−1View file
drivers/dma/idxd/device.cmodified+0−2View file
drivers/dma/idxd/idxd.hmodified+0−5View file
drivers/dma/idxd/perfmon.cmodified+3−4View file
drivers/dma/idxd/sysfs.cmodified+13−20View file
drivers/dma/img-mdc-dma.cmodified+0−1View file
drivers/dma/imx-dma.cmodified+1−1View file
drivers/dma/imx-sdma.cmodified+0−1View file
drivers/dma/ioat/dca.cmodified+1−1View file
drivers/dma/ioat/dma.hmodified+1−0View file
drivers/dma/ioat/init.cmodified+10−9View file
drivers/dma/ipu/Makefiledeleted+0−2View before deletion
drivers/dma/ipu/ipu_idmac.cdeleted+0−1801View before deletion
drivers/dma/ipu/ipu_intern.hdeleted+0−173View before deletion
drivers/dma/ipu/ipu_irq.cdeleted+0−367View before deletion
drivers/dma/lgm/lgm-dma.cmodified+1−6View file
drivers/dma/lpc18xx-dmamux.cmodified+3−1View file
drivers/dma/mcf-edma.c → drivers/dma/mcf-edma-main.crenamed+9−34View file
drivers/dma/mediatek/mtk-cqdma.cmodified+0−1View file
drivers/dma/mediatek/mtk-hsdma.cmodified+0−1View file
drivers/dma/mediatek/mtk-uart-apdma.cmodified+0−2View file
drivers/dma/mpc512x_dma.cmodified+2−2View file
drivers/dma/mxs-dma.cmodified+0−1View file
drivers/dma/nbpfaxi.cmodified+0−1View file
drivers/dma/owl-dma.cmodified+3−2View file
drivers/dma/ppc4xx/adma.cmodified+1−1View file
drivers/dma/qcom/gpi.cmodified+1−2View file
drivers/dma/qcom/hidma.cmodified+6−8View file
drivers/dma/qcom/hidma_mgmt.cmodified+2−3View file
drivers/dma/sh/rz-dmac.cmodified+10−7View file
drivers/dma/sh/shdmac.cmodified+3−5View file
drivers/dma/sprd-dma.cmodified+1−1View file
drivers/dma/ste_dma40.cmodified+4−0View file
drivers/dma/stm32-dma.cmodified+1−2View file
drivers/dma/stm32-dmamux.cmodified+3−1View file
drivers/dma/stm32-mdma.cmodified+0−1View file
drivers/dma/sun6i-dma.cmodified+1−1View file
drivers/dma/tegra186-gpc-dma.cmodified+1−1View file
drivers/dma/tegra20-apb-dma.cmodified+0−1View file
drivers/dma/tegra210-adma.cmodified+2−1View file
drivers/dma/ti/dma-crossbar.cmodified+3−2View file
drivers/dma/ti/edma.cmodified+0−1View file
drivers/dma/ti/k3-udma-private.cmodified+2−0View file
drivers/dma/ti/k3-udma.cmodified+0−1View file
drivers/dma/ti/omap-dma.cmodified+1−1View file
drivers/dma/xgene-dma.cmodified+2−1View file
drivers/dma/xilinx/xilinx_dma.cmodified+61−13View file
drivers/dma/xilinx/zynqmp_dma.cmodified+2−1View file

Only the first 600 diff lines are shown. Download the complete patch.

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

View file
diff --git a/Documentation/ABI/stable/sysfs-driver-dma-idxd b/Documentation/ABI/stable/sysfs-driver-dma-idxd
index 534b7a3..825e619 100644
--- a/Documentation/ABI/stable/sysfs-driver-dma-idxd
+++ b/Documentation/ABI/stable/sysfs-driver-dma-idxd
@@ -84,7 +84,7 @@ What: /sys/bus/dsa/devices/dsa<m>/pasid_enabled
Date: Oct 27, 2020
KernelVersion: 5.11.0
-Description: To indicate if PASID (process address space identifier) is
+Description: To indicate if user PASID (process address space identifier) is
enabled or not for this device.
What: /sys/bus/dsa/devices/dsa<m>/state

Documentation/devicetree/bindings/dma/atmel-xdma.txt

View file
diff --git a/Documentation/devicetree/bindings/dma/atmel-xdma.txt b/Documentation/devicetree/bindings/dma/atmel-xdma.txt
index 510b7f2..76d649b 100644
--- a/Documentation/devicetree/bindings/dma/atmel-xdma.txt
+++ b/Documentation/devicetree/bindings/dma/atmel-xdma.txt
@@ -3,7 +3,8 @@
* XDMA Controller
Required properties:
- compatible: Should be "atmel,sama5d4-dma", "microchip,sam9x60-dma" or
- "microchip,sama7g5-dma".
+ "microchip,sama7g5-dma" or
+ "microchip,sam9x7-dma", "atmel,sama5d4-dma".
- reg: Should contain DMA registers location and length.
- interrupts: Should contain DMA interrupt.
- #dma-cells: Must be <1>, used to represent the number of integer cells in

Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt

View before deletion
diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
deleted file mode 100644
index b6a8cc0..0000000
--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-* BCM2835 DMA controller
-
-The BCM2835 DMA controller has 16 channels in total.
-Only the lower 13 channels have an associated IRQ.
-Some arbitrary channels are used by the firmware
-(1,3,6,7 in the current firmware version).
-The channels 0,2 and 3 have special functionality
-and should not be used by the driver.
-
-Required properties:
-- compatible: Should be "brcm,bcm2835-dma".
-- reg: Should contain DMA registers location and length.
-- interrupts: Should contain the DMA interrupts associated
- to the DMA channels in ascending order.
-- interrupt-names: Should contain the names of the interrupt
- in the form "dmaXX".
- Use "dma-shared-all" for the common interrupt line
- that is shared by all dma channels.
-- #dma-cells: Must be <1>, the cell in the dmas property of the
- client device represents the DREQ number.
-- brcm,dma-channel-mask: Bit mask representing the channels
- not used by the firmware in ascending order,
- i.e. first channel corresponds to LSB.
-
-Example:
-
-dma: dma@7e007000 {
- compatible = "brcm,bcm2835-dma";
- reg = <0x7e007000 0xf00>;
- interrupts = <1 16>,
- <1 17>,
- <1 18>,
- <1 19>,
- <1 20>,
- <1 21>,
- <1 22>,
- <1 23>,
- <1 24>,
- <1 25>,
- <1 26>,
- /* dma channel 11-14 share one irq */
- <1 27>,
- <1 27>,
- <1 27>,
- <1 27>,
- /* unused shared irq for all channels */
- <1 28>;
- interrupt-names = "dma0",
- "dma1",
- "dma2",
- "dma3",
- "dma4",
- "dma5",
- "dma6",
- "dma7",
- "dma8",
- "dma9",
- "dma10",
- "dma11",
- "dma12",
- "dma13",
- "dma14",
- "dma-shared-all";
-
- #dma-cells = <1>;
- brcm,dma-channel-mask = <0x7f35>;
-};
-
-
-DMA clients connected to the BCM2835 DMA controller must use the format
-described in the dma.txt file, using a two-cell specifier for each channel.
-
-Example:
-
-bcm2835_i2s: i2s@7e203000 {
- compatible = "brcm,bcm2835-i2s";
- reg = < 0x7e203000 0x24>;
- clocks = <&clocks BCM2835_CLOCK_PCM>;
-
- dmas = <&dma 2>,
- <&dma 3>;
- dma-names = "tx", "rx";
-};

Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.yaml

View file
diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.yaml b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.yaml
new file mode 100644
index 0000000..c9b9a54
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/brcm,bcm2835-dma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: BCM2835 DMA controller
+
+maintainers:
+ - Nicolas Saenz Julienne <[email protected]>
+
+description:
+ The BCM2835 DMA controller has 16 channels in total. Only the lower
+ 13 channels have an associated IRQ. Some arbitrary channels are used by the
+ VideoCore firmware (1,3,6,7 in the current firmware version). The channels
+ 0, 2 and 3 have special functionality and should not be used by the driver.
+
+allOf:
+ - $ref: dma-controller.yaml#
+
+properties:
+ compatible:
+ const: brcm,bcm2835-dma
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ description:
+ Should contain the DMA interrupts associated to the DMA channels in
+ ascending order.
+ minItems: 1
+ maxItems: 16
+
+ interrupt-names:
+ minItems: 1
+ maxItems: 16
+
+ '#dma-cells':
+ description: The single cell represents the DREQ number.
+ const: 1
+
+ brcm,dma-channel-mask:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Bitmask of available DMA channels in ascending order that are
+ not reserved by firmware and are available to the
+ kernel. i.e. first channel corresponds to LSB.
+
+unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - "#dma-cells"
+ - brcm,dma-channel-mask
+
+examples:
+ - |
+ dma-controller@7e007000 {
+ compatible = "brcm,bcm2835-dma";
+ reg = <0x7e007000 0xf00>;
+ interrupts = <1 16>,
+ <1 17>,
+ <1 18>,
+ <1 19>,
+ <1 20>,
+ <1 21>,
+ <1 22>,
+ <1 23>,
+ <1 24>,
+ <1 25>,
+ <1 26>,
+ /* dma channel 11-14 share one irq */
+ <1 27>,
+ <1 27>,
+ <1 27>,
+ <1 27>,
+ /* unused shared irq for all channels */
+ <1 28>;
+ interrupt-names = "dma0",
+ "dma1",
+ "dma2",
+ "dma3",
+ "dma4",
+ "dma5",
+ "dma6",
+ "dma7",
+ "dma8",
+ "dma9",
+ "dma10",
+ "dma11",
+ "dma12",
+ "dma13",
+ "dma14",
+ "dma-shared-all";
+ #dma-cells = <1>;
+ brcm,dma-channel-mask = <0x7f35>;
+ };
+
+...

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

View file
diff --git a/Documentation/devicetree/bindings/dma/fsl,edma.yaml b/Documentation/devicetree/bindings/dma/fsl,edma.yaml
index 5fd8fc6..437db0c 100644
--- a/Documentation/devicetree/bindings/dma/fsl,edma.yaml
+++ b/Documentation/devicetree/bindings/dma/fsl,edma.yaml
@@ -21,32 +21,41 @@ properties:
- enum:
- fsl,vf610-edma
- fsl,imx7ulp-edma
+ - fsl,imx8qm-adma
+ - fsl,imx8qm-edma
+ - fsl,imx93-edma3
+ - fsl,imx93-edma4
- items:
- const: fsl,ls1028a-edma
- const: fsl,vf610-edma
reg:
- minItems: 2
+ minItems: 1
maxItems: 3
interrupts:
- minItems: 2
- maxItems: 17
+ minItems: 1
+ maxItems: 64
interrupt-names:
- minItems: 2
- maxItems: 17
+ minItems: 1
+ maxItems: 64
"#dma-cells":
- const: 2
+ enum:
+ - 2
+ - 3
dma-channels:
- const: 32
+ minItems: 1
+ maxItems: 64
clocks:
+ minItems: 1
maxItems: 2
clock-names:
+ minItems: 1
maxItems: 2
big-endian:
@@ -69,21 +78,52 @@ allOf:
properties:
compatible:
contains:
+ enum:
+ - fsl,imx8qm-adma
+ - fsl,imx8qm-edma
+ - fsl,imx93-edma3
+ - fsl,imx93-edma4
+ then:
+ properties:
+ "#dma-cells":
+ const: 3
+ # It is not necessary to write the interrupt name for each channel.
+ # instead, you can simply maintain the sequential IRQ numbers as
+ # defined for the DMA channels.
+ interrupt-names: false
+ clock-names:
+ items:
+ - const: dma
+ clocks:
+ maxItems: 1
+
+ - if:
+ properties:
+ compatible:
+ contains:
const: fsl,vf610-edma
then:
properties:
+ clocks:
+ minItems: 2
clock-names:
items:
- const: dmamux0
- const: dmamux1
interrupts:
+ minItems: 2
maxItems: 2
interrupt-names:
items:
- const: edma-tx
- const: edma-err
reg:
+ minItems: 2
maxItems: 3
+ "#dma-cells":
+ const: 2
+ dma-channels:
+ const: 32
- if:
properties:
@@ -92,14 +132,22 @@ allOf:
const: fsl,imx7ulp-edma
then:
properties:
+ clock:
+ minItems: 2
clock-names:
items:
- const: dma
- const: dmamux0
interrupts:
+ minItems: 2
maxItems: 17
reg:
+ minItems: 2
maxItems: 2
+ "#dma-cells":
+ const: 2
+ dma-channels:
+ const: 32
unevaluatedProperties: false
@@ -153,3 +201,47 @@ examples:
clock-names = "dma", "dmamux0";
clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>;
};
+
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/imx93-clock.h>
+
+ dma-controller@44000000 {
+ compatible = "fsl,imx93-edma3";
+ reg = <0x44000000 0x200000>;
+ #dma-cells = <3>;
+ dma-channels = <31>;
+ interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_EDMA1_GATE>;
+ clock-names = "dma";
+ };

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

View file
diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
index 4f5510b..3ad0d9b 100644
--- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
@@ -15,13 +15,19 @@ allOf:
properties:
compatible:
- enum:
- # APQ8064, IPQ8064 and MSM8960
- - qcom,bam-v1.3.0
- # MSM8974, APQ8074 and APQ8084
- - qcom,bam-v1.4.0
- # MSM8916 and SDM845
- - qcom,bam-v1.7.0
+ oneOf:
+ - enum:
+ # APQ8064, IPQ8064 and MSM8960
+ - qcom,bam-v1.3.0
+ # MSM8974, APQ8074 and APQ8084
+ - qcom,bam-v1.4.0
+ # MSM8916, SDM630
+ - qcom,bam-v1.7.0
+ - items:
+ - enum:
+ # SDM845, SM6115, SM8150, SM8250 and QCM2290
+ - qcom,bam-v1.7.4
+ - const: qcom,bam-v1.7.0
clocks:
maxItems: 1
@@ -38,7 +44,7 @@ properties:
iommus:
minItems: 1
- maxItems: 4
+ maxItems: 6
num-channels:
$ref: /schemas/types.yaml#/definitions/uint32
@@ -81,6 +87,15 @@ required:
- qcom,ee
- reg
+anyOf:
+ - required:
+ - qcom,powered-remotely
+ - required:
+ - qcom,controlled-remotely
+ - required:
+ - clocks
+ - clock-names
+
additionalProperties: false
examples:

Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt

View file
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt b/Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt
index d1700a5..590d194 100644
--- a/Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt
+++ b/Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt
@@ -49,6 +49,12 @@ Optional properties for AXI DMA and MCDMA:
register as configured in h/w. Takes values {8...26}. If the property
is missing or invalid then the default value 23 is used. This is the
maximum value that is supported by all IP versions.
+
+Optional properties for AXI DMA:
+- xlnx,axistream-connected: Tells whether DMA is connected to AXI stream IP.
+- xlnx,irq-delay: Tells the interrupt delay timeout value. Valid range is from
+ 0-255. Setting this value to zero disables the delay timer interrupt.
+ 1 timeout interval = 125 * clock period of SG clock.
Optional properties for VDMA:
- xlnx,flush-fsync: Tells which channel to Flush on Frame sync.
It takes following values:

drivers/dma/Kconfig

View file
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 08fdd0e..4ccae1a 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -474,25 +474,6 @@ config MXS_DMA
Support the MXS DMA engine. This engine including APBH-DMA
and APBX-DMA is integrated into some Freescale chips.
-config MX3_IPU
- bool "MX3x Image Processing Unit support"
- depends on ARCH_MXC
- select DMA_ENGINE
- default y
- help
- If you plan to use the Image Processing unit in the i.MX3x, say
- Y here. If unsure, select Y.
-
-config MX3_IPU_IRQS
- int "Number of dynamically mapped interrupts for IPU"
- depends on MX3_IPU
- range 2 137
- default 4
- help
- Out of 137 interrupt sources on i.MX31 IPU only very few are used.
- To avoid bloating the irq_desc[] array we allocate a sufficient
- number of IRQ slots and map them dynamically to specific sources.
-
config NBPFAXI_DMA
tristate "Renesas Type-AXI NBPF DMA support"
select DMA_ENGINE
@@ -699,7 +680,7 @@ config XGENE_DMA
config XILINX_DMA
tristate "Xilinx AXI DMAS Engine"
- depends on (ARCH_ZYNQ || MICROBLAZE || ARM64)
+ depends on HAS_IOMEM
select DMA_ENGINE
help
Enable support for Xilinx AXI VDMA Soft IP.

drivers/dma/Makefile

View file
diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
index a4fd1ce..83553a9 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -32,8 +32,10 @@ obj-$(CONFIG_DW_DMAC_CORE) += dw/
obj-$(CONFIG_DW_EDMA) += dw-edma/
obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
obj-$(CONFIG_FSL_DMA) += fsldma.o
-obj-$(CONFIG_FSL_EDMA) += fsl-edma.o fsl-edma-common.o
-obj-$(CONFIG_MCF_EDMA) += mcf-edma.o fsl-edma-common.o
+fsl-edma-objs := fsl-edma-main.o fsl-edma-common.o
+obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
+mcf-edma-objs := mcf-edma-main.o fsl-edma-common.o
+obj-$(CONFIG_MCF_EDMA) += mcf-edma.o
obj-$(CONFIG_FSL_QDMA) += fsl-qdma.o
obj-$(CONFIG_FSL_RAID) += fsl_raid.o
obj-$(CONFIG_HISI_DMA) += hisi_dma.o
@@ -55,7 +57,6 @@ obj-$(CONFIG_MPC512X_DMA) += mpc512x_dma.o
obj-$(CONFIG_MV_XOR) += mv_xor.o
obj-$(CONFIG_MV_XOR_V2) += mv_xor_v2.o
obj-$(CONFIG_MXS_DMA) += mxs-dma.o
-obj-$(CONFIG_MX3_IPU) += ipu/
obj-$(CONFIG_NBPFAXI_DMA) += nbpfaxi.o
obj-$(CONFIG_OWL_DMA) += owl-dma.o
obj-$(CONFIG_PCH_DMA) += pch_dma.o

drivers/dma/apple-admac.c

View file
diff --git a/drivers/dma/apple-admac.c b/drivers/dma/apple-admac.c
index 4cf8da7..3af7956 100644
--- a/drivers/dma/apple-admac.c
+++ b/drivers/dma/apple-admac.c
@@ -10,8 +10,9 @@
#include <linux/device.h>
#include <linux/init.h>
#include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/of_dma.h>
+#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>

drivers/dma/at_hdmac.c

View file
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index ee3a219..b2876f6 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -20,7 +20,7 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/overflow.h>
-#include <linux/of_device.h>
+#include <linux/of_platform.h>
#include <linux/of_dma.h>
#include <linux/platform_device.h>
#include <linux/slab.h>

drivers/dma/bcm-sba-raid.c

View file
diff --git a/drivers/dma/bcm-sba-raid.c b/drivers/dma/bcm-sba-raid.c
index 0647612..94ea353 100644
--- a/drivers/dma/bcm-sba-raid.c
+++ b/drivers/dma/bcm-sba-raid.c
@@ -35,7 +35,9 @@
#include <linux/mailbox_client.h>
#include <linux/mailbox/brcm-message.h>
#include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/raid/pq.h>

drivers/dma/bestcomm/bestcomm.c

View file
diff --git a/drivers/dma/bestcomm/bestcomm.c b/drivers/dma/bestcomm/bestcomm.c
index eabbcfc..80096f9 100644
--- a/drivers/dma/bestcomm/bestcomm.c
+++ b/drivers/dma/bestcomm/bestcomm.c
@@ -14,9 +14,8 @@
#include <linux/slab.h>
#include <linux/of.h>
#include <linux/of_address.h>
-#include <linux/of_device.h>
#include <linux/of_irq.h>
-#include <linux/of_platform.h>
+#include <linux/platform_device.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mpc52xx.h>

drivers/dma/dma-jz4780.c

View file
diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
index 9c1a6e9..adbd47b 100644
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c

This diff is incomplete. Download the complete patch.

drivers/dma/dmaengine.c

View file

This diff is incomplete. Download the complete patch.

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

View file

This diff is incomplete. Download the complete patch.

drivers/dma/dw/rzn1-dmamux.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ep93xx_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsl-edma-common.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsl-edma-common.h

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsl-edma-main.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsl-qdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsl_raid.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/fsldma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/idxd/device.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/idxd/idxd.h

View file

This diff is incomplete. Download the complete patch.

drivers/dma/idxd/perfmon.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/idxd/sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/img-mdc-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/imx-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/imx-sdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ioat/dca.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ioat/dma.h

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ioat/init.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ipu/Makefile

View before deletion

This diff is incomplete. Download the complete patch.

drivers/dma/ipu/ipu_idmac.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/dma/ipu/ipu_intern.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/dma/ipu/ipu_irq.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/dma/lgm/lgm-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/lpc18xx-dmamux.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mcf-edma-main.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mediatek/mtk-cqdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mediatek/mtk-hsdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mediatek/mtk-uart-apdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mpc512x_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/mxs-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/nbpfaxi.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/owl-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ppc4xx/adma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/qcom/gpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/qcom/hidma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/qcom/hidma_mgmt.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/sh/rz-dmac.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/sh/shdmac.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/sprd-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ste_dma40.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/stm32-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/stm32-dmamux.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/stm32-mdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/sun6i-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/tegra186-gpc-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/tegra20-apb-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/tegra210-adma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ti/dma-crossbar.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ti/edma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ti/k3-udma-private.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ti/k3-udma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ti/omap-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/xgene-dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/xilinx/xilinx_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/xilinx/zynqmp_dma.c

View file

This diff is incomplete. Download the complete patch.