[PATCH 0/1] Add Qualcomm MSM ADM DMAEngine driver

Ravi Kumar V kumarrav at codeaurora.org
Thu Dec 22 08:08:31 EST 2011


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.




More information about the linux-arm-kernel mailing list