Qualcomm Application Datamover(ADM) supports simple, scatter gather and box mode dma transfers. This driver implements the scatter gather and box mode transfer. Our ADM hardware needs these following fields for a transfer. ------------------- Scatter gather mode ------------------- 32-bit command configuration. 32-bit source address 32 bit destination address 16-bit length --------- Box Mode --------- 32-bit command configuration 32-bit source address 32-bit destination address 16-bit source row length 16-bit destination row length 16-bit source row numbers 16-bit destination row numbers 16-bit source row offset 16-bit destination row offset As of now there is no support to pass private data like "command" configuration in standard DMAEngine API. We are using "device_prep_dma_sg" API to do the SG and box mode transfer, but since the current APIs doesn't support a way to pass the "command configuration", "source and destination row numbers" we are using "length" and "offset" field of the existing scatterlist to achieve it. Let us know if there is a better way to do it or new API needs to be created. Here we are using same length field as above for command configuration, 16 MSB bits offset field of scatterlist for passing row numbers and remaining of 16 LSB bits for offset. Ravi Kumar V (1): msm: DMAEngine: Add DMAEngine driver based on old MSM DMA APIs arch/arm/mach-msm/include/mach/dma.h | 53 +++ drivers/dma/Kconfig | 12 + drivers/dma/Makefile | 1 + drivers/dma/msm-dma.c | 719 ++++++++++++++++++++++++++++++++++ 4 files changed, 785 insertions(+), 0 deletions(-) create mode 100644 drivers/dma/msm-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. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html