Commit e964f1e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'dmaengine-5.7-rc1' of git://git.infradead.org/users/vkoul/slave-dma

Pull dmaengine updates from Vinod Koul:
 "Core:
   - Some code cleanup and optimization in core by Andy

   - Debugfs support for displaying dmaengine channels by Peter

  Drivers:
   - New driver for uniphier-xdmac controller

   - Updates to stm32 dma, mdma and dmamux drivers and PM support

   - More updates to idxd drivers

   - Bunch of changes in tegra-apb driver and cleaning up of pm
     functions

   - Bunch of spelling fixes and Replace zero-length array patches

   - Shutdown hook for fsl-dpaa2-qdma driver

   - Support for interleaved transfers for ti-edma and virtualization
     support for k3-dma driver

   - Support for reset and updates in xilinx_dma driver

   - Improvements and locking updates in at_hdma driver"

* tag 'dmaengine-5.7-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits)
  dt-bindings: dma: renesas,usb-dmac: add r8a77961 support
  dmaengine: uniphier-xdmac: Remove redandant error log for platform_get_irq
  dmaengine: tegra-apb: Improve DMA synchronization
  dmaengine: tegra-apb: Don't save/restore IRQ flags in interrupt handler
  dmaengine: tegra-apb: mark PM functions as __maybe_unused
  dmaengine: fix spelling mistake "exceds" -> "exceeds"
  dmaengine: sprd: Set request pending flag when DMA controller is active
  dmaengine: ppc4xx: Use scnprintf() for avoiding potential buffer overflow
  dmaengine: idxd: remove global token limit check
  dmaengine: idxd: reflect shadow copy of traffic class programming
  dmaengine: idxd: Merge definition of dsa_batch_desc into dsa_hw_desc
  dmaengine: Create debug directories for DMA devices
  dmaengine: ti: k3-udma: Implement custom dbg_summary_show for debugfs
  dmaengine: Add basic debugfs support
  dmaengine: fsl-dpaa2-qdma: remove set but not used variable 'dpaa2_qdma'
  dmaengine: ti: edma: fix null dereference because of a typo in pointer name
  dmaengine: fsl-dpaa2-qdma: Adding shutdown hook
  dmaengine: uniphier-xdmac: Add UniPhier external DMA controller driver
  dt-bindings: dmaengine: Add UniPhier external DMA controller bindings
  dmaengine: ti: k3-udma: Implement support for atype (for virtualization)
  ...
parents 5c8db3eb cea582b5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ Required Properties:
	  - "renesas,r8a7794-usb-dmac" (R-Car E2)
	  - "renesas,r8a7795-usb-dmac" (R-Car H3)
	  - "renesas,r8a7796-usb-dmac" (R-Car M3-W)
	  - "renesas,r8a77961-usb-dmac" (R-Car M3-W+)
	  - "renesas,r8a77965-usb-dmac" (R-Car M3-N)
	  - "renesas,r8a77990-usb-dmac" (R-Car E3)
	  - "renesas,r8a77995-usb-dmac" (R-Car D3)
+63 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/socionext,uniphier-xdmac.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext UniPhier external DMA controller

description: |
  This describes the devicetree bindings for an external DMA engine to perform
  memory-to-memory or peripheral-to-memory data transfer capable of supporting
  16 channels, implemented in Socionext UniPhier SoCs.

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

allOf:
  - $ref: "dma-controller.yaml#"

properties:
  compatible:
    const: socionext,uniphier-xdmac

  reg:
    items:
      - description: XDMAC base register region (offset and length)
      - description: XDMAC extension register region (offset and length)

  interrupts:
    maxItems: 1

  "#dma-cells":
    const: 2
    description: |
      DMA request from clients consists of 2 cells:
        1. Channel index
        2. Transfer request factor number, If no transfer factor, use 0.
           The number is SoC-specific, and this should be specified with
           relation to the device to use the DMA controller.

  dma-channels:
    minimum: 1
    maximum: 16

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - "#dma-cells"

examples:
  - |
    xdmac: dma-controller@5fc10000 {
        compatible = "socionext,uniphier-xdmac";
        reg = <0x5fc10000 0x1000>, <0x5fc20000 0x800>;
        interrupts = <0 188 4>;
        #dma-cells = <2>;
        dma-channels = <16>;
    };

...
+18 −1
Original line number Diff line number Diff line
@@ -45,7 +45,8 @@ allOf:

properties:
  "#dma-cells":
    const: 1
    minimum: 1
    maximum: 2
    description: |
      The cell is the PSI-L  thread ID of the remote (to UDMAP) end.
      Valid ranges for thread ID depends on the data movement direction:
@@ -55,6 +56,8 @@ properties:
      Please refer to the device documentation for the PSI-L thread map and also
      the PSI-L peripheral chapter for the correct thread ID.

      When #dma-cells is 2, the second parameter is the channel ATYPE.

  compatible:
    enum:
      - ti,am654-navss-main-udmap
@@ -131,6 +134,20 @@ required:
  - ti,sci-rm-range-rchan
  - ti,sci-rm-range-rflow

if:
  properties:
    "#dma-cells":
      const: 2
then:
  properties:
    ti,udma-atype:
      description: ATYPE value which should be used by non slave channels
      allOf:
        - $ref: /schemas/types.yaml#/definitions/uint32

  required:
    - ti,udma-atype

examples:
  - |+
    cbass_main {
+13 −2
Original line number Diff line number Diff line
@@ -616,8 +616,8 @@ config TXX9_DMAC
	  integrated in chips such as the Toshiba TX4927/38/39.

config TEGRA20_APB_DMA
	bool "NVIDIA Tegra20 APB DMA support"
	depends on ARCH_TEGRA
	tristate "NVIDIA Tegra20 APB DMA support"
	depends on ARCH_TEGRA || COMPILE_TEST
	select DMA_ENGINE
	help
	  Support for the NVIDIA Tegra20 APB DMA controller driver. The
@@ -658,6 +658,17 @@ config UNIPHIER_MDMAC
	  UniPhier platform.  This DMA controller is used as the external
	  DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.

config UNIPHIER_XDMAC
	tristate "UniPhier XDMAC support"
	depends on ARCH_UNIPHIER || COMPILE_TEST
	depends on OF
	select DMA_ENGINE
	select DMA_VIRTUAL_CHANNELS
	help
	  Enable support for the XDMAC (external DMA controller) on the
	  UniPhier platform. This DMA controller can transfer data from
	  memory to memory, memory to peripheral and peripheral to memory.

config XGENE_DMA
	tristate "APM X-Gene DMA support"
	depends on ARCH_XGENE || COMPILE_TEST
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o
obj-$(CONFIG_TEGRA210_ADMA) += tegra210-adma.o
obj-$(CONFIG_TIMB_DMA) += timb_dma.o
obj-$(CONFIG_UNIPHIER_MDMAC) += uniphier-mdmac.o
obj-$(CONFIG_UNIPHIER_XDMAC) += uniphier-xdmac.o
obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
obj-$(CONFIG_ZX_DMA) += zx_dma.o
obj-$(CONFIG_ST_FDMA) += st_fdma.o
Loading