From: davidb@codeaurora.org (David Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 2/2] DMAEngine: Add DMAEngine driver based on old MSM DMA APIs
Date: Wed, 14 Mar 2012 13:19:29 -0700 [thread overview]
Message-ID: <20120314201929.GA17259@codeaurora.org> (raw)
In-Reply-To: <20120314150533.GA8757@fifo99.com>
On Wed, Mar 14, 2012 at 08:05:53AM -0700, Daniel Walker wrote:
> On Tue, Mar 13, 2012 at 06:16:39PM +0530, Ravi Kumar V wrote:
> > On 3/13/2012 1:44 AM, Daniel Walker wrote:
> > >On Mon, Mar 12, 2012 at 04:02:44PM +0530, Ravi Kumar V wrote:
> > >>Add DMAEngine based driver using the old MSM DMA APIs internally.
> > >
> > >What do you mean by this?
> > >
> > There is a MSM DMA driver in arch/arm/mach-msm/ which is not in
> > dmaengine framework standards, but that driver is been used by
> > client drivers nand, eMMC and serial drivers. Now if we implement
> > the whole dma driver using dmaengine framework then nand, eMMC like
> > drivers will be failed as they are using old dma driver API's, so
> > instead of implementing new driver from scratch we are keeping the
> > old dma API's as it is and using those API's in new dmaengine
> > framework.So that we can convert clients drivers to use dma engine
> > framework.
>
> Did you investigate converting the drivers (nand, eMMC, serial) ? It
> seems like there would be a 1:1 mapping between the API's , so it might
> only be a find->replace operation.
Only at a very superficial level--they both do DMA. The ADM driver
wants its scatterlists constructed manually by the caller (in DMA-able
memory) and just the pointer handed over. The drivers will have to be
converted to use the abstracted scatterlists that dmaengine wants.
Drivers like msm_sdcc are currently fairly intimitely tied to flow
that is specific to ADM. The msm_sdcc driver also needs use of the
ADM's "box" mode, which has to be made to work with DMAEngine as well.
Providing both APIs is really the only practical way to get this in
without having to rewrite several other drivers.
The nand driver (which doesn't seem to have made it in yet,
https://lkml.org/lkml/2011/2/28/570) is much worse. About half of the
code is constructing ADM specific command blocks. I'm not even sure
it will be practical to even migrate that driver to DMAEngine, since
the nand controller hardware is so intimately tied to the functioning
of the ADM.
David
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2012-03-14 20:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-12 10:32 [PATCH v3 2/2] DMAEngine: Add DMAEngine driver based on old MSM DMA APIs Ravi Kumar V
2012-03-12 20:14 ` Daniel Walker
2012-03-13 12:46 ` Ravi Kumar V
2012-03-14 15:05 ` Daniel Walker
2012-03-14 20:19 ` David Brown [this message]
2012-03-15 18:12 ` Ravi Kumar V
2012-08-14 11:00 ` Linus Walleij
[not found] ` <CAPDArRLs23VDJSWpX8xJsXfn+_SV2FcyzLYBF9UAxf=Rv9svGQ@mail.gmail.com>
2012-03-13 19:34 ` David Brown
2012-03-15 17:57 ` Ravi Kumar V
2012-03-14 16:26 ` Lars-Peter Clausen
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=20120314201929.GA17259@codeaurora.org \
--to=davidb@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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).