[PATCH v3 00/41] Adding transaction result return for dmaengine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Changes v2 -> v3:
* Addressed comments by Lars
  - Moved helper functions to drivers/dma/dmaengine.h
  - Added helper function that does acquire and invoke callback
  - Added helper function to detect callback valid
  - Added comments to clearly define dmaengine_tx_result entries
* Fixed additional build errors from build bot

Changes v1 -> v2:

* Addressed comments by Vinod
  - Changed dma_desc_callback to dmaengine_desc_callback
  - Changed dma_trans_result to dmaengine_tx_result
* Fixed build issues for several of the drivers
* Addressed comments by Laurent
  - Added documentation update
  - Made result from dma_async_tx_callback_result a const

---

Dave Jiang (41):
      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
      dmaengine: documentation to the new callback mechanism


 Documentation/dmaengine/provider.txt |   11 ++
 drivers/dma/at_hdmac.c               |   13 +-
 drivers/dma/at_xdmac.c               |   13 +-
 drivers/dma/coh901318.c              |    9 -
 drivers/dma/cppi41.c                 |    4 -
 drivers/dma/dmaengine.h              |   48 +++++++
 drivers/dma/dw/core.c                |   14 +-
 drivers/dma/ep93xx_dma.c             |   10 +
 drivers/dma/fsl_raid.c               |   10 -
 drivers/dma/fsldma.c                 |    8 -
 drivers/dma/imx-dma.c                |    5 -
 drivers/dma/imx-sdma.c               |   10 +
 drivers/dma/ioat/dma.c               |  217 ++++++++++++++++++++++++++++----
 drivers/dma/ioat/registers.h         |    2 
 drivers/dma/iop-adma.c               |    5 -
 drivers/dma/ipu/ipu_idmac.c          |   18 +--
 drivers/dma/mic_x100_dma.c           |    8 +
 drivers/dma/mmp_pdma.c               |   14 +-
 drivers/dma/mmp_tdma.c               |    5 -
 drivers/dma/mpc512x_dma.c            |    5 -
 drivers/dma/mv_xor.c                 |    8 +
 drivers/dma/mxs-dma.c                |    4 -
 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             |   14 +-
 drivers/dma/sh/rcar-dmac.c           |   16 +-
 drivers/dma/sh/shdma-base.c          |   13 +-
 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              |    4 -
 drivers/dma/xilinx/xilinx_vdma.c     |   10 +
 drivers/ntb/ntb_transport.c          |  230 ++++++++++++++++++++++++++--------
 include/linux/dmaengine.h            |   16 ++
 39 files changed, 586 insertions(+), 260 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



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux