[GIT PULL]: dmaengine updates for 4.9-rc1

From: Vinod Koul
Date: Wed Oct 05 2016 - 23:18:13 EST


Hello Linus,

Here is the pull request for dmaengine.

One note though, we have dependency between dmaengine tree and tty tree, as
one series was merged thru Greg's tree. To resolve we had merged
'tty-for-dma' tag from greg's tree into dmaengine next.

This merge will show up conflict in drivers/dma/imx-sdma.c. I am sure you
will manage that :)

The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc:

Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)

are available in the git repository at:

git://git.infradead.org/users/vkoul/slave-dma.git tags/dmaengine-4.9-rc1

for you to fetch changes up to c84750906b4818d4929fbf73a4ae6c113b94f52b:

async_pq_val: fix DMA memory leak (2016-10-05 06:18:09 +0530)

----------------------------------------------------------------
dmaengine updates for 4.8-rc1

This is bit large pile of code which bring in some nice additions:
- Error reporting: we have added a new mechanism for users of dmaenegine to
register a callback_result which tells them the result of the dma
transaction. Right now only one user ntb is using it.
- As we discussed on KS mailing list and pointed out NO_IRQ has no place in
kernel, this also remove NO_IRQ from dmaengine subsystem (both arm and
ppc users)
- Support for IOMMU slave transfers and it implementation for arm.
- To get better build coverage, enable COMPILE_TEST for bunch of driver,
and fix the warning and sparse complaints on these.
- Apart from above, usual updates spread across drivers.

----------------------------------------------------------------
Andy Green (4):
k3dma: Fix hisi burst clipping
k3dma: Fix dma err offsets
k3dma: Fix "nobody cared" message seen on any error
k3dma: Add cyclic mode for audio

Andy Shevchenko (1):
dmaengine: hsu: refactor hsu_dma_do_irq() to return int

Arnd Bergmann (7):
dmaengine: moxart: remove NO_IRQ
dmaengine: mxs: remove NO_IRQ check
dmaengine: sirf: fix irq number error check
dmaengine: ipu: remove bogus NO_IRQ reference
dmaengine: k3dma: use correct format string for debug output
dmaengine: cppi41: mark PM functions as __maybe_unused
dmaengine: edma: avoid uninitialized variable use

Arvind Yadav (1):
dmaengine: fsldma: Unmap region obtained by of_iomap

Baoyou Xie (1):
dmaengine: virt-dma: move function declarations

Colin Ian King (2):
dmaengine: coh901318: fix integer overflow when shifting more than 32 places
dmaengine: jz4780: fix resource leaks on error exit return

Dave Jiang (46):
dmaengine: ioatdma: fix uninitialized array usage
dmaengine: Add helper function to prep for error reporting
dmaengine: at_hdmac: convert callback to helper function
dmaengine: at_xdmac: convert callback to helper function
dmaengine: coh901318: convert callback to helper function
dmaengine: cppi41: convert callback to helper function
dmaengine: dw: convert callback to helper function
dmaengine: ep93xx_dma: convert callback to helper function
dmaengine: fsl_raid: convert callback to helper function
dmaengine: fsldma: convert callback to helper function
dmaengine: imx-dma: convert callback to helper function
dmaengine: imx-sdma: convert callback to helper function
dmaengine: ioatdma: convert callback to helper function
dmaengine: iop-adma: convert callback to helper function
dmaengine: ipu: convert callback to helper function
dmaengine: mic_x100_dma: convert callback to helper function
dmaengine: mmp_pdma: convert callback to helper function
dmaengine: mmp_tdma: convert callback to helper function
dmaengine: mpc512x_dma: convert callback to helper function
dmaengine: mv_xor: convert callback to helper function
dmaengine: mxs-dma: convert callback to helper function
dmaengine: nbpfaxi: convert callback to helper function
dmaengine: pch_dma: convert callback to helper function
dmaengine: pl330: convert callback to helper function
dmaengine: ppc4xx_adma: convert callback to helper function
dmaengine: qcom_hidma: convert callback to helper function
dmaengine: sh_rcar-dmac: convert callback to helper function
dmaengine: sirf-dma: convert callback to helper function
dmaengine: ste_dma40: convert callback to helper function
dmaengine: tegra20-apb-dma: convert callback to helper function
dmaengine: timb_dma: convert callback to helper function
dmaengine: txx9dmac: convert callback to helper function
dmaengine: virt-dma: convert callback to helper function
dmaengine: xgene-dma: convert callback to helper function
dmaengine: add support to provide error result from a DMA transation
dmaengine: ioatdma: Add error handling to ioat driver
dmaengine: ioatdma: add error strings to chanerr output
ntb: add DMA error handling for TX DMA
ntb: add DMA error handling for RX DMA
dmaengine: documentation to the new callback mechanism
dmaengine: fsldma: move unmap to before callback
dmaengine: fsl_raid: move unmap to before callback
dmaengine: mv_xor: move unmap to before callback
dmaengine: ppc4xx/adma: move unmap to before callback
dmaengine: sh_shdma-base: convert callback to helper function
dmaengine: xgene-dma: move unmap to before callback

Eugeniy Paltsev (1):
dmaengine: dmatest: Restore "memcpy" as default mode

Fabio Estevam (1):
dmaengine: imx-sdma: Add i.MX7 support

Hsin-Yu Chao (1):
dmaengine: pl330: Acquire dmac's spinlock in pl330_tx_status

Jean-Francois Moine (1):
dmaengine: sun6i: Add support for Allwinner A83T (sun8i) variant

John Stultz (3):
k3dma: Fix occasional DMA ERR issue by using proper dma api
k3dma: Fix memory handling in preparation for cyclic mode
Kconfig: Allow k3dma driver to be selected for more then HISI3xx platforms

Jon Hunter (1):
dmaengine: tegra210-adma: Update driver to use of_pm_clk_add_clk

Justin Maggard (1):
async_pq_val: fix DMA memory leak

Markus Elfring (24):
ste_dma40: Use kmalloc_array() in d40_lcla_allocate()
ste_dma40: Return directly after a failed kmalloc_array()
ste_dma40: Rename a jump label in d40_lcla_allocate()
ste_dma40: Move an assignment in d40_lcla_allocate()
ste_dma40: Improve a size determination in d40_of_probe()
ste_dma40: Replace four kzalloc() calls by kcalloc() in d40_hw_detect_init()
ste_dma40: Use kmalloc_array() in d40_hw_detect_init()
ste_dma40: Less checks in d40_hw_detect_init() after error detection
ste_dma40: Delete unnecessary variable initialisations in d40_hw_detect_init()
ste_dma40: Adjust the position of a jump label in d40_probe()
ste_dma40: Rename a jump label in d40_probe()
ste_dma40: Rename jump labels in d40_dmaengine_init()
ste_dma40: Rename a jump label in d40_alloc_chan_resources()
ste_dma40: One check less in d40_prep_sg() after error detection
ste_dma40: Move two assignments in d40_prep_sg()
ste_dma40: Rename a jump label in d40_prep_desc()
ste_dma40: Move an assignment in d40_prep_desc()
ste_dma40: Rename a jump label in d40_is_paused()
ste_dma40: Rename a jump label in d40_free_dma()
ste_dma40: Rename a jump label in d40_alloc_mask_free()
ste_dma40: Rename jump labels in d40_alloc_mask_set()
ste_dma40: Rename a jump label in dma_tasklet()
ste_dma40: Rename a jump label in __d40_execute_command_phy()
ste_dma40: Rename a jump label in d40_log_lli_to_lcxa()

Martin Kaiser (1):
dmaengine: imx-sdma: (trivial) fix a typo

Masahiro Yamada (1):
dmaengine: cleanup with list_first_entry_or_null()

Michael Ellerman (1):
dmaengine: NO_IRQ removal from powerpc-only drivers

Misael Lopez Cruz (1):
dmaengine: omap-dma: Enable burst and data pack for SG

Nicolin Chen (1):
dmaengine: dmatest: Apply copy_align to DMA_SG as well

Niklas Söderlund (9):
dma-mapping: add {map,unmap}_resource to dma_map_ops
dma-debug: add support for resource mappings
dma-mapping: add dma_{map,unmap}_resource
arm: dma-mapping: add {map,unmap}_resource for iommu ops
dmaengine: rcar-dmac: group slave configuration
dmaengine: rcar-dmac: add iommu support for slave transfers
dma-mapping: fix ia64 build, use PHYS_PFN
dma-mapping: fix m32r build warning
dma-debug: fix ia64 build, use PHYS_PFN

Peter Ujfalusi (17):
dmaengine: omap-dma: Simplify omap_dma_start_sg parameter list
dmaengine: omap-dma: Simplify omap_dma_callback
dmaengine: omap-dma: Dynamically allocate memory for lch_map
dmaengine: omap-dma: Add more debug information when freeing channel
dmaengine: omap-dma: Use pointer to omap_sg in slave_sg setup's loop
dmaengine: omap-dma: Support for LinkedList transfer of slave_sg
dmaengine: omap-dma: Correct type2 descriptor's member types
dmaengine: edma: Add missing MODULE_DEVICE_TABLE() for of_device_id structs
dmaengine: edma: Fix of_device_id data parameter usage (legacy vs TPCC)
dmaengine: edma: Use correct type for of_find_property() third parameter
dmaengine: edma: Rename set_bits and remove unused clear_bits helper
dmaengine/ARM: omap-dma: Fix the DMAengine compile test on non OMAP configs
dmaengine: ti-dma-crossbar: Correct type for of_find_property() third parameter
dmaengine: ti-dma-crossbar: Fix of_device_id data parameter usage
dmaengine: edma: enable COMPILE_TEST
dmaengine: omap-dma: enable COMPILE_TEST
dmaengine: ti-dma-crossbar: enable COMPILE_TEST

Sam Van Den Berge (1):
dmaengine: s3c24xx: Add dma_slave_map for s3c2440 devices

Sergei Shtylyov (1):
DT: dmaengine: rcar-dmac: document R8A7743/5 support

Sinan Kaya (4):
dmaengine: qcom_hidma: release the descriptor before the callback
dmaengine: qcom_hidma: report transfer errors with new interface
dmaengine: qcom_hidma: add error reporting for tx_status
dmaengine: dmatest: exclude compare and fill time during perf report

Stefan Roese (2):
bus: mvebu-mbus: Provide stub function for mvebu_mbus_get_io_win_info()
dmaengine: mv_xor: Add support for IO (PCIe) src/dst areas

Stephen Barber (1):
dmaengine: pl330: fix residual for non-running BUSY descriptors

Tony Lindgren (3):
dmaengine: cppi41: Prepare to add PM runtime support
dmaengine: cppi41: Add basic PM runtime support
dmaengine: cppi41: Ignore EINPROGRESS for PM runtime

Vinod Koul (47):
dmengine: xilinx_dma: convert callback to helper function
dmaengine: jz4740: remove unused arch header
dmaengine: jz4740: enable COMPILE_TEST
dmaengine: jz4780: enable COMPILE_TEST
dmaengine: jz4780: make jz4780_dma_prep_dma_memcpy static
dmaengine: coh901318: use correct print specifiers
dmaengine: coh901318: return ssize_t for coh901318_debugfs_read
dmaengine: coh901318: fix pointer cast warnings
dmaengine: coh901318: use NULL for pointer initialization
dmaengine: coh901318: enable COMPILE_TEST
dmaengine: sa11x0: use correct print specifiers for dma_addr_t
dmaengine: sa11x0: use correct print specifiers for u32
dmaengine: sa11x0: use correct print specifiers for size_t
dmaengine: sa11x0: enable COMPILE_TEST
dmaengine: ep93xx: use correct print specifiers for size_t
dmaengine: ep93xx: don't use variables defined in global scope
dmaengine: ep93xx: enable COMPILE_TEST
dmaengine: mmp_tdma: use correct print specifiers for size_t
dmaengine: mmp_pdma: enable COMPILE_TEST
dmaengine: mmp_tdma: enable COMPILE_TEST
dmaengine: stm32-dma: enable COMPILE_TEST
dmaengine: stm32-dma: make stm32_dma_set_config static
dmaengine: s3c24xx: use correct print specifiers for size_t
dmaengine: s3c24xx: fix pointer cast warnings
dmaengine: s3c24xx: enable COMPILE_TEST
dmaengine: timb-dma: enable COMPILE_TEST
dmaengine: zxdma: enable COMPILE_TEST
dmaengine: sun4i: fix kconfig unmet direct dependencies
dmaengine: moxart: fix kconfig unmet direct dependencies
dmaengine: tegra-adma: enable COMPILE_TEST
Merge branch 'topic/compile_test' into for-linus
Merge branch 'topic/core' into for-linus
Merge branch 'topic/cppi' into for-linus
Merge branch 'topic/dmatest' into for-linus
Merge branch 'topic/err_reporting' into for-linus
Merge branch 'topic/hsu' into for-linus
Merge branch 'topic/imx' into for-linus
Merge branch 'topic/ioatdma' into for-linus
Merge branch 'topic/iommu' into for-linus
Merge branch 'topic/k3' into for-linus
Merge branch 'topic/mv_xor' into for-linus
Merge branch 'topic/no_irq' into for-linus
Merge branch 'topic/omap' into for-linus
Merge branch 'topic/pl330' into for-linus
Merge branch 'topic/ste_dma40' into for-linus
Merge branch 'topic/tegra' into for-linus
Merge branch 'topic/unmap_cleanup' into for-linus

Viresh Kumar (1):
dmaengine: device must have at least one channel

Documentation/DMA-API.txt | 22 +-
.../devicetree/bindings/dma/fsl-imx-sdma.txt | 1 +
.../devicetree/bindings/dma/renesas,rcar-dmac.txt | 4 +-
.../devicetree/bindings/dma/sun6i-dma.txt | 1 +
Documentation/dmaengine/provider.txt | 11 +
arch/arm/mach-s3c24xx/common.c | 35 +++
arch/arm/mm/dma-mapping.c | 63 +++++
crypto/async_tx/async_pq.c | 8 +-
drivers/dma/Kconfig | 40 ++-
drivers/dma/at_hdmac.c | 11 +-
drivers/dma/at_xdmac.c | 8 +-
drivers/dma/bestcomm/bestcomm.c | 4 +-
drivers/dma/coh901318.c | 56 ++--
drivers/dma/coh901318_lli.c | 4 +-
drivers/dma/cppi41.c | 142 ++++++++--
drivers/dma/dma-jz4740.c | 2 -
drivers/dma/dma-jz4780.c | 10 +-
drivers/dma/dmaengine.c | 7 +
drivers/dma/dmaengine.h | 84 ++++++
drivers/dma/dmatest.c | 23 +-
drivers/dma/dw/core.c | 14 +-
drivers/dma/edma.c | 38 +--
drivers/dma/ep93xx_dma.c | 28 +-
drivers/dma/fsl_raid.c | 12 +-
drivers/dma/fsldma.c | 24 +-
drivers/dma/hsu/hsu.c | 9 +-
drivers/dma/hsu/pci.c | 6 +-
drivers/dma/imx-dma.c | 4 +-
drivers/dma/imx-sdma.c | 35 ++-
drivers/dma/ioat/dma.c | 213 +++++++++++++--
drivers/dma/ioat/init.c | 2 +-
drivers/dma/ioat/registers.h | 2 +
drivers/dma/iop-adma.c | 3 +-
drivers/dma/ipu/ipu_idmac.c | 18 +-
drivers/dma/ipu/ipu_irq.c | 9 +-
drivers/dma/k3dma.c | 215 ++++++++++++---
drivers/dma/mic_x100_dma.c | 6 +-
drivers/dma/mmp_pdma.c | 14 +-
drivers/dma/mmp_tdma.c | 6 +-
drivers/dma/moxart-dma.c | 2 +-
drivers/dma/mpc512x_dma.c | 7 +-
drivers/dma/mv_xor.c | 102 ++++++-
drivers/dma/mv_xor.h | 7 +
drivers/dma/mxs-dma.c | 13 +-
drivers/dma/nbpfaxi.c | 9 +-
drivers/dma/omap-dma.c | 243 ++++++++++++++---
drivers/dma/pch_dma.c | 7 +-
drivers/dma/pl330.c | 25 +-
drivers/dma/ppc4xx/adma.c | 11 +-
drivers/dma/qcom/hidma.c | 57 ++--
drivers/dma/qcom/hidma.h | 2 +-
drivers/dma/qcom/hidma_ll.c | 32 +--
drivers/dma/s3c24xx-dma.c | 9 +-
drivers/dma/sa11x0-dma.c | 14 +-
drivers/dma/sh/rcar-dmac.c | 132 ++++++---
drivers/dma/sh/shdma-base.c | 12 +-
drivers/dma/sirf-dma.c | 9 +-
drivers/dma/ste_dma40.c | 299 +++++++++------------
drivers/dma/stm32-dma.c | 2 +-
drivers/dma/sun6i-dma.c | 7 +
drivers/dma/tegra20-apb-dma.c | 10 +-
drivers/dma/tegra210-adma.c | 14 +-
drivers/dma/ti-dma-crossbar.c | 30 ++-
drivers/dma/timb_dma.c | 9 +-
drivers/dma/txx9dmac.c | 9 +-
drivers/dma/virt-dma.c | 17 +-
drivers/dma/virt-dma.h | 10 +-
drivers/dma/xgene-dma.c | 6 +-
drivers/dma/xilinx/xilinx_dma.c | 10 +-
drivers/ntb/ntb_transport.c | 193 ++++++++++---
drivers/tty/serial/8250/8250_mid.c | 8 +-
include/linux/dma-debug.h | 19 ++
include/linux/dma-mapping.h | 41 +++
include/linux/dma/hsu.h | 9 +-
include/linux/dmaengine.h | 16 ++
include/linux/mbus.h | 18 +-
include/linux/omap-dma.h | 19 ++
include/linux/platform_data/dma-mmp_tdma.h | 2 +-
include/linux/platform_data/dma-s3c24xx.h | 6 +
lib/dma-debug.c | 52 +++-
80 files changed, 1933 insertions(+), 760 deletions(-)

Thanks
--
~Vinod