Merge tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 4 Sep 2015 18:10:18 +0000 (11:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 4 Sep 2015 18:10:18 +0000 (11:10 -0700)
Pull dmaengine updates from Vinod Koul:
 "This time we have aded a new capability for scatter-gathered memset
  using dmaengine APIs.  This is supported in xdmac & hdmac drivers

  We have added support for reusing descriptors for examples like video
  buffers etc.  Driver will follow

  The behaviour of descriptor ack has been clarified and documented

  New devices added are:
   - dma controller in sun[457]i SoCs
   - lpc18xx dmamux
   - ZTE ZX296702 dma controller
   - Analog Devices AXI-DMAC DMA controller
   - eDMA support for dma-crossbar
   - imx6sx support in imx-sdma driver
   - imx-sdma device to device support

  Other:
   - jz4780 fixes
   - ioatdma large refactor and cleanup for removal of ioat v1 and v2
     which is deprecated and fixes
   - ACPI support in X-Gene DMA engine driver
   - ipu irq fixes
   - mvxor fixes
   - minor fixes spread thru drivers"

[ The Kconfig and Makefile entries got re-sorted alphabetically, and I
  handled the conflict with the new Intel integrated IDMA driver by
  slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in
  order to keep the Intel entries together.  I think it might be a good
  idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make
  the sorting be a true sort, not this mismash.

  Also, this merge disables the COMPILE_TEST for the sun4i DMA
  controller, because it does not compile cleanly at all.     - Linus ]

* tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits)
  dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs
  dmaengine :ipu: change ipu_irq_handler() to remove compile warning
  dmaengine: ioatdma: Fix variable array length
  dmaengine: ioatdma: fix sparse "error" with prep lock
  dmaengine: hdmac: Add memset capabilities
  dmaengine: sort the sh Makefile
  dmaengine: sort the sh Kconfig
  dmaengine: sort the dw Kconfig
  dmaengine: sort the Kconfig
  dmaengine: sort the makefile
  drivers/dma: make mv_xor.c driver explicitly non-modular
  dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller
  devicetree: Add bindings documentation for Analog Devices AXI-DMAC
  dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests
  dmaengine: ioatdma: fix coccinelle warning
  dmaengine: ioatdma: fix zero day warning on incompatible pointer type
  dmaengine: tegra-apb: Simplify locking for device using global pause
  dmaengine: tegra-apb: Remove unnecessary return statements and variables
  dmaengine: tegra-apb: Avoid unnecessary channel base address calculation
  dmaengine: tegra-apb: Remove unused variables
  ...

1  2 
MAINTAINERS
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/at_hdmac.c
drivers/dma/at_hdmac_regs.h
drivers/dma/at_xdmac.c
drivers/dma/mv_xor.c
drivers/dma/pl330.c
drivers/dma/xgene-dma.c
drivers/gpu/ipu-v3/ipu-common.c

diff --cc MAINTAINERS
Simple merge
index bdbbe5bcfb83e83e80aada3c8a25c6fdb50dffb2,7ba2847a507744c2243e93e716860f2401954ba0..b4584757dae09827a17c58632460aec1439f6f35
@@@ -90,24 -124,53 +124,53 @@@ config DMA_JZ478
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
        help
-         Enable DMA support for Intel Low Power Subsystem such as found on
-         Intel Skylake PCH.
+         This selects support for the DMA controller in Ingenic JZ4780 SoCs.
+         If you have a board based on such a SoC and wish to use DMA for
+         devices which can use the DMA controller, say Y or M here.
  
- source "drivers/dma/dw/Kconfig"
+ config DMA_OMAP
+       tristate "OMAP DMA support"
+       depends on ARCH_OMAP
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       select TI_DMA_CROSSBAR if SOC_DRA7XX
  
- config AT_HDMAC
-       tristate "Atmel AHB DMA support"
-       depends on ARCH_AT91
+ config DMA_SA11X0
+       tristate "SA-11x0 DMA support"
+       depends on ARCH_SA1100
        select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
        help
-         Support the Atmel AHB DMA controller.
+         Support the DMA engine found on Intel StrongARM SA-1100 and
+         SA-1110 SoCs.  This DMA engine can only be used with on-chip
+         devices.
  
- config AT_XDMAC
-       tristate "Atmel XDMA support"
-       depends on ARCH_AT91
+ config DMA_SUN4I
+       tristate "Allwinner A10 DMA SoCs support"
 -      depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || COMPILE_TEST
++      depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
+       default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
        select DMA_ENGINE
+       select DMA_OF
+       select DMA_VIRTUAL_CHANNELS
        help
-         Support the Atmel XDMA controller.
+         Enable support for the DMA controller present in the sun4i,
+         sun5i and sun7i Allwinner ARM SoCs.
+ config DMA_SUN6I
+       tristate "Allwinner A31 SoCs DMA support"
+       depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
+       depends on RESET_CONTROLLER
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Support for the DMA engine first found in Allwinner A31 SoCs.
+ config EP93XX_DMA
+       bool "Cirrus Logic EP93xx DMA support"
+       depends on ARCH_EP93XX
+       select DMA_ENGINE
+       help
+         Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
  
  config FSL_DMA
        tristate "Freescale Elo series DMA support"
@@@ -131,79 -204,74 +204,82 @@@ config FSL_RAI
            the capability to offload memcpy, xor and pq computation
          for raid5/6.
  
- source "drivers/dma/hsu/Kconfig"
- config MPC512X_DMA
-       tristate "Freescale MPC512x built-in DMA engine support"
-       depends on PPC_MPC512x || PPC_MPC831x
+ config IMG_MDC_DMA
+       tristate "IMG MDC support"
+       depends on MIPS || COMPILE_TEST
+       depends on MFD_SYSCON
        select DMA_ENGINE
-       ---help---
-         Enable support for the Freescale MPC512x built-in DMA engine.
- source "drivers/dma/bestcomm/Kconfig"
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Enable support for the IMG multi-threaded DMA controller (MDC).
  
- config MV_XOR
-       bool "Marvell XOR engine support"
-       depends on PLAT_ORION
+ config IMX_DMA
+       tristate "i.MX DMA support"
+       depends on ARCH_MXC
        select DMA_ENGINE
-       select DMA_ENGINE_RAID
-       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
-       ---help---
-         Enable support for the Marvell XOR engine.
+       help
+         Support the i.MX DMA engine. This engine is integrated into
+         Freescale i.MX1/21/27 chips.
  
- config MX3_IPU
-       bool "MX3x Image Processing Unit support"
+ config IMX_SDMA
+       tristate "i.MX SDMA 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.
+         Support the i.MX SDMA engine. This engine is integrated into
+         Freescale i.MX25/31/35/51/53/6 chips.
  
- config MX3_IPU_IRQS
-       int "Number of dynamically mapped interrupts for IPU"
-       depends on MX3_IPU
-       range 2 137
-       default 4
++config IDMA64
++      tristate "Intel integrated DMA 64-bit support"
++      select DMA_ENGINE
++      select DMA_VIRTUAL_CHANNELS
 +      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.
++        Enable DMA support for Intel Low Power Subsystem such as found on
++        Intel Skylake PCH.
 +
- config PXA_DMA
-       bool "PXA DMA support"
-       depends on (ARCH_MMP || ARCH_PXA)
+ config INTEL_IOATDMA
+       tristate "Intel I/OAT DMA support"
+       depends on PCI && X86_64
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
+       select DMA_ENGINE_RAID
+       select DCA
        help
-         Support the DMA engine for PXA. It is also compatible with MMP PDMA
-         platform. The internal DMA IP of all PXA variants is supported, with
-         16 to 32 channels for peripheral to memory or memory to memory
-         transfers.
+         Enable support for the Intel(R) I/OAT DMA engine present
+         in recent Intel Xeon chipsets.
  
- config TXX9_DMAC
-       tristate "Toshiba TXx9 SoC DMA support"
-       depends on MACH_TX49XX || MACH_TX39XX
+         Say Y here if you have such a chipset.
+         If unsure, say N.
+ config INTEL_IOP_ADMA
+       tristate "Intel IOP ADMA support"
+       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
        select DMA_ENGINE
+       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
        help
-         Support the TXx9 SoC internal DMA controller.  This can be
-         integrated in chips such as the Toshiba TX4927/38/39.
+         Enable support for the Intel(R) IOP Series RAID engines.
  
- config TEGRA20_APB_DMA
-       bool "NVIDIA Tegra20 APB DMA support"
-       depends on ARCH_TEGRA
+ config INTEL_MIC_X100_DMA
+       tristate "Intel MIC X100 DMA Driver"
+       depends on 64BIT && X86 && INTEL_MIC_BUS
        select DMA_ENGINE
        help
-         Support for the NVIDIA Tegra20 APB DMA controller driver. The
-         DMA controller is having multiple DMA channel which can be
-         configured for different peripherals like audio, UART, SPI,
-         I2C etc which is in APB bus.
-         This DMA controller transfers data from memory to peripheral fifo
-         or vice versa. It does not support memory to memory data transfer.
+         This enables DMA support for the Intel Many Integrated Core
+         (MIC) family of PCIe form factor coprocessor X100 devices that
+         run a 64 bit Linux OS. This driver will be used by both MIC
+         host and card drivers.
  
- config S3C24XX_DMAC
-       tristate "Samsung S3C24XX DMA support"
-       depends on ARCH_S3C24XX
+         If you are building host kernel with a MIC device or a card
+         kernel for a MIC device, then say M (recommended) or Y, else
+         say N. If unsure say N.
+         More information about the Intel MIC family as well as the Linux
+         OS and tools for MIC to use with this driver are available from
+         <http://software.intel.com/en-us/mic-developer>.
+ config K3_DMA
+       tristate "Hisilicon K3 DMA support"
+       depends on ARCH_HI3xxx
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
        help
index 56ff8c705c0027f05297a6e5ad42ff9e4ef2521d,25e0705053e9681a581b7070b64fb42612e7897d..7711a718072622c024af8c22ef7161ce654b0003
@@@ -6,54 -8,61 +8,62 @@@ obj-$(CONFIG_DMA_VIRTUAL_CHANNELS) += v
  obj-$(CONFIG_DMA_ACPI) += acpi-dma.o
  obj-$(CONFIG_DMA_OF) += of-dma.o
  
+ #dmatest
  obj-$(CONFIG_DMATEST) += dmatest.o
- obj-$(CONFIG_INTEL_IOATDMA) += ioat/
- obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o
- obj-$(CONFIG_FSL_DMA) += fsldma.o
- obj-$(CONFIG_HSU_DMA) += hsu/
- obj-$(CONFIG_MPC512X_DMA) += mpc512x_dma.o
- obj-$(CONFIG_PPC_BESTCOMM) += bestcomm/
- obj-$(CONFIG_MV_XOR) += mv_xor.o
- obj-$(CONFIG_IDMA64) += idma64.o
- obj-$(CONFIG_DW_DMAC_CORE) += dw/
+ #devices
+ obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
+ obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/
  obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
  obj-$(CONFIG_AT_XDMAC) += at_xdmac.o
- obj-$(CONFIG_MX3_IPU) += ipu/
- obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o
- obj-$(CONFIG_RENESAS_DMA) += sh/
+ obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o
  obj-$(CONFIG_COH901318) += coh901318.o coh901318_lli.o
- obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/
- obj-$(CONFIG_IMX_SDMA) += imx-sdma.o
+ obj-$(CONFIG_DMA_BCM2835) += bcm2835-dma.o
+ obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
+ obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o
+ obj-$(CONFIG_DMA_OMAP) += omap-dma.o
+ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
+ obj-$(CONFIG_DMA_SUN4I) += sun4i-dma.o
+ obj-$(CONFIG_DMA_SUN6I) += sun6i-dma.o
+ obj-$(CONFIG_DW_DMAC_CORE) += dw/
+ obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
+ obj-$(CONFIG_FSL_DMA) += fsldma.o
+ obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
+ obj-$(CONFIG_FSL_RAID) += fsl_raid.o
+ obj-$(CONFIG_HSU_DMA) += hsu/
+ obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o
  obj-$(CONFIG_IMX_DMA) += imx-dma.o
+ obj-$(CONFIG_IMX_SDMA) += imx-sdma.o
++obj-$(CONFIG_IDMA64) += idma64.o
+ obj-$(CONFIG_INTEL_IOATDMA) += ioat/
+ obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o
+ obj-$(CONFIG_INTEL_MIC_X100_DMA) += mic_x100_dma.o
+ obj-$(CONFIG_K3_DMA) += k3dma.o
+ obj-$(CONFIG_LPC18XX_DMAMUX) += lpc18xx-dmamux.o
+ obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
+ obj-$(CONFIG_MMP_TDMA) += mmp_tdma.o
+ obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
+ obj-$(CONFIG_MPC512X_DMA) += mpc512x_dma.o
+ obj-$(CONFIG_MV_XOR) += mv_xor.o
  obj-$(CONFIG_MXS_DMA) += mxs-dma.o
+ obj-$(CONFIG_MX3_IPU) += ipu/
+ obj-$(CONFIG_NBPFAXI_DMA) += nbpfaxi.o
+ obj-$(CONFIG_PCH_DMA) += pch_dma.o
+ obj-$(CONFIG_PL330_DMA) += pl330.o
+ obj-$(CONFIG_PPC_BESTCOMM) += bestcomm/
  obj-$(CONFIG_PXA_DMA) += pxa_dma.o
- obj-$(CONFIG_TIMB_DMA) += timb_dma.o
+ obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
+ obj-$(CONFIG_RENESAS_DMA) += sh/
  obj-$(CONFIG_SIRF_DMA) += sirf-dma.o
- obj-$(CONFIG_TI_EDMA) += edma.o
  obj-$(CONFIG_STE_DMA40) += ste_dma40.o ste_dma40_ll.o
- obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o
  obj-$(CONFIG_S3C24XX_DMAC) += s3c24xx-dma.o
- obj-$(CONFIG_PL330_DMA) += pl330.o
- obj-$(CONFIG_PCH_DMA) += pch_dma.o
- obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
- obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
- obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
- obj-$(CONFIG_MMP_TDMA) += mmp_tdma.o
- obj-$(CONFIG_DMA_OMAP) += omap-dma.o
- obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o
- obj-$(CONFIG_DMA_BCM2835) += bcm2835-dma.o
- obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
- obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
- obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o
+ obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o
+ obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o
+ obj-$(CONFIG_TIMB_DMA) += timb_dma.o
  obj-$(CONFIG_TI_CPPI41) += cppi41.o
- obj-$(CONFIG_K3_DMA) += k3dma.o
- obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
- obj-$(CONFIG_FSL_RAID) += fsl_raid.o
- obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
- obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
- obj-y += xilinx/
- obj-$(CONFIG_INTEL_MIC_X100_DMA) += mic_x100_dma.o
- obj-$(CONFIG_NBPFAXI_DMA) += nbpfaxi.o
- obj-$(CONFIG_DMA_SUN6I) += sun6i-dma.o
- obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o
+ obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o
+ obj-$(CONFIG_TI_EDMA) += edma.o
  obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
+ obj-$(CONFIG_ZX_DMA) += zx296702_dma.o
+ obj-y += xilinx/
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge