[PATCH v5 0/2] Add Qualcomm MSM ADM DMAEngine driver

Ravi Kumar V kumarrav at codeaurora.org
Thu Mar 22 10:22:02 EDT 2012


Following are the changes we have done from the previous
v1 posted here: https://lkml.org/lkml/2011/12/22/148

As our ADM Scatter-gather hardware needs
-32-bit command configuration parameter
 apart from
-32-bit source address
-32-bit destination address
-16-bit length

So,we have added new parameter in struct scatterlist to support xfer descriptor
specific private data, and for supporting ADM Box mode DMA we added new
API and data structure.

Changes done from v2:

As per our previous discussion you had suggested us to follow the below patch
https://lkml.org/lkml/2012/1/26/405
Please check the below link of our discussion
https://lkml.org/lkml/2012/1/30/48

So we have added the new context parameter in device_prep_dma_sg and
device_prep_interleave_dma API's to support for passing client channel specific
private data associated with every transfer descriptor.

We are using
Interleaved API for BOX type transfer.
SG API for SG type transfer.

Changes done from v3:

Implemented the wrappers as suggested by Russell King in following patch
https://lkml.org/lkml/2012/2/3/269
Fixed the dmaengine & client drivers to follow above changes

Changes done from v4:

Changed return value of prep_dma_sg & prep_interleaved_dma to NULL
when some thing fails inside the API
 
Ravi Kumar V (2):
  dmaengine: Add context parameter to prep_dma_sg and
    prep_interleaved_dma
  DMAEngine: Add DMAEngine driver based on old MSM ADM DMA APIs

 arch/arm/mach-msm/include/mach/dma.h    |   35 ++
 drivers/dma/Kconfig                     |   12 +
 drivers/dma/Makefile                    |    1 +
 drivers/dma/fsldma.c                    |    2 +-
 drivers/dma/msm_adm_dma.c               |  728 +++++++++++++++++++++++++++++++
 drivers/dma/sirf-dma.c                  |    2 +-
 drivers/dma/ste_dma40.c                 |    2 +-
 drivers/misc/carma/carma-fpga-program.c |    2 +-
 drivers/misc/carma/carma-fpga.c         |    7 +-
 include/linux/dmaengine.h               |   22 +-
 10 files changed, 803 insertions(+), 10 deletions(-)
 create mode 100644 drivers/dma/msm_adm_dma.c

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.




More information about the linux-arm-kernel mailing list