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 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html