The following series implements a way for DMA drivers to report the result of a transaction via callback in order to notify the upper layer. Thanks Lars for providing guidance. I added usage of the new mechanism in the ioatdma driver and also updated the NTB code that uses this mechanism to receive the error. Jon, I assume you'll let Vinod push the two NTB patches since it's part of the series. For all driver owners please test. I was not able to build any of the DMA drivers that are not IA architecture. --- Dave Jiang (40): 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: sh_shdma-base: 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: xilinx_vdma: 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 drivers/dma/at_hdmac.c | 14 +- drivers/dma/at_xdmac.c | 15 ++- drivers/dma/coh901318.c | 9 +- drivers/dma/cppi41.c | 4 + drivers/dma/dw/core.c | 14 +- drivers/dma/ep93xx_dma.c | 10 +- drivers/dma/fsl_raid.c | 11 +- drivers/dma/fsldma.c | 7 + drivers/dma/imx-dma.c | 6 + drivers/dma/imx-sdma.c | 12 +- drivers/dma/ioat/dma.c | 220 ++++++++++++++++++++++++++++++++----- drivers/dma/ioat/registers.h | 2 drivers/dma/iop-adma.c | 6 + drivers/dma/ipu/ipu_idmac.c | 18 +-- drivers/dma/mic_x100_dma.c | 9 +- drivers/dma/mmp_pdma.c | 14 +- drivers/dma/mmp_tdma.c | 6 + drivers/dma/mpc512x_dma.c | 6 + drivers/dma/mv_xor.c | 8 + drivers/dma/mxs-dma.c | 5 + drivers/dma/nbpfaxi.c | 9 +- drivers/dma/pch_dma.c | 7 + drivers/dma/pl330.c | 10 +- drivers/dma/ppc4xx/adma.c | 8 + drivers/dma/qcom/hidma.c | 15 ++- drivers/dma/sh/rcar-dmac.c | 14 +- drivers/dma/sh/shdma-base.c | 20 ++- drivers/dma/sirf-dma.c | 13 ++ drivers/dma/ste_dma40.c | 10 +- drivers/dma/tegra20-apb-dma.c | 10 +- drivers/dma/timb_dma.c | 9 +- drivers/dma/txx9dmac.c | 9 +- drivers/dma/virt-dma.c | 17 +-- drivers/dma/xgene-dma.c | 5 + drivers/dma/xilinx/xilinx_vdma.c | 10 +- drivers/ntb/ntb_transport.c | 228 +++++++++++++++++++++++++++++--------- include/linux/dmaengine.h | 49 ++++++++ 37 files changed, 580 insertions(+), 259 deletions(-) -- -- 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