From: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
To: Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
Cc: Matt Porter <mporter-l0cyMroinI0@public.gmane.org>,
Linux DaVinci Kernel List
<davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org>,
Linux OMAP List
<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Cousson, Benoit" <b-cousson-l0cyMroinI0@public.gmane.org>,
Sergei Shtylyov
<sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>,
Linux Documentation List
<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
Devicetree Discuss
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
Mark Brown
<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
Linux MMC List
<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>,
Grant Likely
<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Rob Landley <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
Dan Williams <djbw-b10kYP2dOMg@public.gmane.org>L
Subject: Re: [PATCH v7 01/10] ARM: davinci: move private EDMA API to arm/common
Date: Mon, 4 Feb 2013 17:41:53 +0200 [thread overview]
Message-ID: <20130204154153.GA18237@arwen.pp.htv.fi> (raw)
In-Reply-To: <20130201213003.GW2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 2381 bytes --]
Hi,
On Fri, Feb 01, 2013 at 09:30:03PM +0000, Russell King - ARM Linux wrote:
> > > > I guess to make the MUSB side simpler we would need musb-dma-engine glue
> > > > to map dmaengine to the private MUSB API. Then we would have some
> > > > starting point to also move inventra (and anybody else) to dmaengine
> > > > API.
> > >
> > > Why? Inventra is a dedicated device's private DMA controller, why make
> > > universal DMA driver for it?
> >
> > because it doesn't make sense to support multiple DMA APIs. We can check
> > from MUSB's registers if it was configured with Inventra DMA support and
> > based on that we can register MUSB's own DMA Engine to dmaengine API.
>
> Hang on. This is one of the DMA implementations which is closely
> coupled with the USB and only the USB? If it is...
>
> I thought this had been discussed _extensively_ before. I thought the
> resolution on it was:
> 1. It would not use the DMA engine API.
> 2. It would not live in arch/arm.
> 3. It would be placed nearby the USB driver it's associated with.
>
> (1) because we don't use APIs just for the hell of it - think. Do we
> use the DMA engine API for PCI bus mastering ethernet controllers? No.
> Do we use it for PCI bus mastering SCSI controllers? No. Because the
> DMA is integral to the rest of the device.
that's not really a fair comparison, however. MUSB is used with several
DMA engines.
The only DMA engine which is really coupled with MUSB is the Inventra
DMA engine which comes as an optional feature to the IP. Many users have
opted out of it. From the top of my head we have CPPI 3.x, CPPI 4.1,
Inventra DMA, OMAP sDMA and ux500 DMA engines supported by the driver.
Granted, CPPI 4.1 makes some assumptions about the fact that it's
handling USB tranfers, but nevertheless, the IP can be, and in fact is,
used with many different DMA engines and driver needs to cope with it.
Current DMA abstraction is quite poor, for example there's no way to
compile support for multiple DMA engines. Code also makes certain, IMO
unnecessary, assumptions about the underlying DMA engine (abstraction is
poor, as said above but it we could follow MUSB's programming guide when
it comes to programming DMA transfers).
Considering all of the above, it's far better to use DMA engine and get
rid of all the mess.
--
balbi
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2013-02-04 15:41 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-01 18:22 [PATCH v7 00/10] DMA Engine support for AM33XX Matt Porter
[not found] ` <1359742975-10421-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2013-02-01 18:22 ` [PATCH v7 01/10] ARM: davinci: move private EDMA API to arm/common Matt Porter
2013-02-01 18:41 ` Tony Lindgren
2013-02-02 12:49 ` Russell King - ARM Linux
2013-02-02 14:44 ` Matt Porter
[not found] ` <5022f635a527470dbd0be932063e9cd2@DFLE72.ent.ti.com>
2013-02-01 18:49 ` Matt Porter
[not found] ` <2077c13e12314dc3adc8e5b653855da0@DFLE72.ent.ti.com>
2013-02-01 18:59 ` Matt Porter
2013-02-02 0:01 ` Sergei Shtylyov
2013-02-02 12:45 ` Russell King - ARM Linux
2013-02-02 17:27 ` Sergei Shtylyov
[not found] ` <e9be6668da8b4372a04687847daa1d8c@DFLE72.ent.ti.com>
2013-02-02 18:07 ` Matt Porter
2013-02-02 18:16 ` Tony Lindgren
2013-02-02 19:48 ` Matt Porter
2013-02-02 21:02 ` Tony Lindgren
2013-02-02 19:06 ` Sergei Shtylyov
[not found] ` <3245316d7aa94b2e823f98b69497547d@DLEE74.ent.ti.com>
[not found] ` <3245316d7aa94b2e823f98b69497547d-0VoBT8GTp4aIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-02-02 19:55 ` Matt Porter
2013-02-02 20:18 ` Sergei Shtylyov
2013-02-01 19:52 ` Sergei Shtylyov
[not found] ` <510C1D0E.6030401-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2013-02-01 18:58 ` Felipe Balbi
2013-02-01 20:49 ` Sergei Shtylyov
[not found] ` <510C2A47.1090607-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2013-02-01 20:56 ` Felipe Balbi
2013-02-01 21:30 ` Russell King - ARM Linux
2013-02-02 0:07 ` Sergei Shtylyov
2013-02-02 0:44 ` Russell King - ARM Linux
[not found] ` <20130202004455.GX2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-02 2:09 ` Sergei Shtylyov
2013-02-02 10:18 ` Russell King - ARM Linux
2013-02-02 12:17 ` Russell King - ARM Linux
[not found] ` <20130202121738.GZ2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-02 17:02 ` Sergei Shtylyov
[not found] ` <20130202101851.GY2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-02 16:27 ` Sergei Shtylyov
2013-02-02 16:45 ` Russell King - ARM Linux
[not found] ` <20130202164522.GC2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-02 17:17 ` Sergei Shtylyov
[not found] ` <510C58DF.3010103-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2013-02-04 14:27 ` Arnd Bergmann
2013-02-02 0:13 ` Sergei Shtylyov
[not found] ` <20130201213003.GW2637-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-04 15:41 ` Felipe Balbi [this message]
2013-02-04 15:45 ` Russell King - ARM Linux
2013-02-04 17:36 ` Sergei Shtylyov
2013-02-04 16:47 ` Felipe Balbi
2013-02-04 17:10 ` Russell King - ARM Linux
2013-02-04 17:54 ` Sergei Shtylyov
[not found] ` <510FF5C9.3030600-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2013-02-04 17:02 ` Felipe Balbi
2013-02-04 18:22 ` Sergei Shtylyov
[not found] ` <20130204170216.GC4269-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-02-04 19:22 ` Cyril Chemparathy
2013-02-04 20:29 ` Linus Walleij
2013-02-04 20:33 ` Mark Brown
2013-02-04 21:11 ` Linus Walleij
[not found] ` <CACRpkdbPyZt8=pLhz-5qcaSSAk6VBn61dPTNp6teU9HksBwN2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-04 21:47 ` Arnd Bergmann
2013-02-05 12:38 ` Russell King - ARM Linux
[not found] ` <20130205123828.GB17852-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-05 15:37 ` Cyril Chemparathy
2013-02-04 21:54 ` Cyril Chemparathy
2013-02-05 12:41 ` Russell King - ARM Linux
[not found] ` <20130205124120.GC17852-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-05 15:42 ` Cyril Chemparathy
2013-02-05 15:30 ` Linus Walleij
2013-02-05 17:14 ` Russell King - ARM Linux
[not found] ` <20130205171451.GE17852-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-05 18:33 ` Linus Walleij
[not found] ` <CACRpkdZihnp3_Df==QRWxQupgi7W_YXZxc-MxkusVH6J+Vx56A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-04 22:30 ` Cyril Chemparathy
[not found] ` <5110369B.9060901-l0cyMroinI0@public.gmane.org>
2013-02-05 16:21 ` Linus Walleij
2013-02-05 16:47 ` Mark Brown
2013-02-05 17:06 ` Russell King - ARM Linux
2013-02-05 17:41 ` Mark Brown
2013-02-05 18:29 ` Linus Walleij
[not found] ` <CACRpkdbeoMO1rjPiWDAuVL0uYwMGF+9-vCxqoMiMd1uAgZm=RQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-05 19:45 ` Cyril Chemparathy
2013-02-05 18:28 ` Tony Lindgren
[not found] ` <20130205182848.GJ25185-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2013-02-05 22:26 ` Arnd Bergmann
[not found] ` <201302052226.30754.arnd-r2nGTMty4D4@public.gmane.org>
2013-02-06 7:45 ` Felipe Balbi
2013-02-01 23:10 ` Sergei Shtylyov
[not found] ` <1359742975-10421-2-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2013-02-09 16:05 ` Sekhar Nori
2013-02-09 20:08 ` Russell King - ARM Linux
2013-03-04 22:05 ` Matt Porter
[not found] ` <e92425fefcc04bb4ab739ec8d4e82672@DLEE74.ent.ti.com>
[not found] ` <e92425fefcc04bb4ab739ec8d4e82672-0VoBT8GTp4aIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-03-04 22:12 ` Matt Porter
2013-02-01 18:22 ` [PATCH v7 02/10] ARM: edma: remove unused transfer controller handlers Matt Porter
2013-02-01 18:22 ` [PATCH v7 05/10] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2013-02-01 18:26 ` Matt Porter
2013-02-01 18:22 ` [PATCH v7 06/10] ARM: dts: add AM33XX EDMA support Matt Porter
2013-02-01 18:22 ` [PATCH v7 07/10] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2013-02-01 18:28 ` Matt Porter
2013-02-12 16:38 ` Vinod Koul
2013-02-01 18:22 ` [PATCH v7 08/10] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2013-02-01 18:22 ` [PATCH v7 09/10] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2013-02-01 18:22 ` [PATCH v7 10/10] ARM: dts: add AM33XX SPI DMA support Matt Porter
2013-02-01 18:22 ` [PATCH v7 03/10] ARM: edma: add AM33XX support to the private EDMA API Matt Porter
2013-02-01 18:22 ` [PATCH v7 04/10] dmaengine: edma: enable build for AM33XX Matt Porter
2013-02-01 18:32 ` [PATCH v7 00/10] DMA Engine support " Matt Porter
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=20130204154153.GA18237@arwen.pp.htv.fi \
--to=balbi-l0cymroini0@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=b-cousson-l0cyMroinI0@public.gmane.org \
--cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
--cc=davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=djbw-b10kYP2dOMg@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mporter-l0cyMroinI0@public.gmane.org \
--cc=rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
--cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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).