linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ravi Kumar V <kumarrav@codeaurora.org>
To: Vinod Koul <vinod.koul@intel.com>,
	Dan Williams <dan.j.williams@intel.com>
Cc: David Brown <davidb@codeaurora.org>,
	Daniel Walker <dwalker@fifo99.com>,
	Bryan Huntsman <bryanh@codeaurora.org>,
	Trilok Soni <tsoni@codeaurora.org>,
	Ravi Kumar V <kumarrav@codeaurora.org>,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/1] Add Qualcomm MSM ADM DMAEngine driver
Date: Thu, 22 Dec 2011 18:38:31 +0530	[thread overview]
Message-ID: <1324559312-23684-1-git-send-email-kumarrav@codeaurora.org> (raw)

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.

             reply	other threads:[~2011-12-22 13:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-22 13:08 Ravi Kumar V [this message]
2011-12-22 13:08 ` [PATCH 1/1] msm: DMAEngine: Add DMAEngine driver based on old MSM DMA APIs Ravi Kumar V
2011-12-22 19:12   ` David Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1324559312-23684-1-git-send-email-kumarrav@codeaurora.org \
    --to=kumarrav@codeaurora.org \
    --cc=bryanh@codeaurora.org \
    --cc=dan.j.williams@intel.com \
    --cc=davidb@codeaurora.org \
    --cc=dwalker@fifo99.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tsoni@codeaurora.org \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).