From: Vinod Koul <vinod.koul@intel.com>
To: "Bounine, Alexandre" <Alexandre.Bounine@idt.com>
Cc: Jassi Brar <jaswinder.singh@linaro.org>,
Russell King <rmk@arm.linux.org.uk>,
"Williams, Dan J" <dan.j.williams@intel.com>,
Barry Song <21cnbao@gmail.com>,
linux-kernel@vger.kernel.org,
DL-SHA-WorkGroupLinux <workgroup.linux@csr.com>,
Dave Jiang <dave.jiang@intel.com>
Subject: RE: [PATCHv4] DMAEngine: Define interleaved transfer request api
Date: Mon, 24 Oct 2011 09:19:09 +0530 [thread overview]
Message-ID: <1319428149.9355.60.camel@vkoul-udesk3> (raw)
In-Reply-To: <0CE8B6BE3C4AD74AB97D9D29BD24E552023672A3@CORPEXCH1.na.ads.idt.com>
On Tue, 2011-10-18 at 10:57 -0700, Bounine, Alexandre wrote:
Sorry for delayed response, been quite busy with upcoming festival, and
other stuff :(
> > >
> > Thanks for the detailed explanation.
> >
> > RapidIO is a packet switched interconnect with parallel or serial
> > interface.
> > Among other things, a packet contains 32, 48 or 64 bit offset into the
> > remote-endpoint's address space. So I don't get how any of the above
> > 6 points apply here.
> >
> > Though I agree it is peculiar for a networking technology to expose a
> > DMAEngine interface. But I assume Alex has good reasons for it, who
> > knows RIO better than us.
> To keep it simple, look at this as a peer-to-peer networking with HW ability
> to directly address memory of the link partner.
>
> RapidIO supports messaging which is closer to traditional networking and is
> supported by RIONET driver (pretending to be Ethernet). But in some situations
> messaging cannot be used. In these cases addressed memory read/write
> operations take place.
>
> I would like to put a simple example of RIO based system that may help to
> understand our DMA requirements.
>
> Consider a platform with one host CPU and several DSP cards connected
> to it through a switched backplane (transparent for purpose of this example).
>
> The host CPU has one or more RIO-capable DMA channel and runs device
> drivers for connected DSP cards. Each device driver is required to load
> an individual program code into corresponding DSP(s). Directly addressed
> writes have a lot of sense.
>
> After DSP code is loaded device drivers start DSP program and may
> participate in data transfers between DSP cards and host CPU. Again
> messaging type transfers may add unnecessary overhead here compared
> to direct data reads/writes.
>
> Configuration of each DSP card may be different but from host's
> POV is RIO spec compliant.
I think we all agree that this fits the dma_slave case :)
As for changing in dmaengine to u64, if we are thinking this as slave
usage, then ideally we should not make assumption of the address type of
peripheral so we should only move the dma_slave_config address fields to
u64, if that helps in RIO case. Moving other usages would be insane.
At this point we have two proposals
a) to make RIO exceptional case and add RIO specific stuff.
b) make dmaengine transparent and add additional argument
in .device_prep_slave_sg() callback which is subsystem dependent.
Current dmacs and those who don't need it will ignore it.
ATM, I am leaning towards the latter, for the main reason to keep
dmaengine away from subsystem details.
--
~Vinod
next prev parent reply other threads:[~2011-10-24 3:58 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-12 11:14 [PATCH] DMAEngine: Define generic " Jassi Brar
2011-08-16 12:56 ` Koul, Vinod
2011-08-16 13:06 ` Linus Walleij
2011-08-19 13:43 ` Koul, Vinod
2011-08-19 14:19 ` Linus Walleij
2011-08-19 15:46 ` Jassi Brar
2011-08-19 17:28 ` Koul, Vinod
2011-08-19 18:45 ` Jassi Brar
2011-08-23 14:43 ` Matt Porter
2011-08-16 14:32 ` Jassi Brar
2011-09-15 7:46 ` [PATCHv2] " Jassi Brar
2011-09-15 8:22 ` Russell King
2011-09-15 10:02 ` Jassi Brar
2011-09-16 7:17 ` Barry Song
2011-09-16 11:03 ` Jassi Brar
2011-09-16 9:07 ` Vinod Koul
2011-09-16 12:30 ` Jassi Brar
2011-09-16 17:06 ` Vinod Koul
2011-09-16 17:51 ` Jassi Brar
2011-09-19 3:23 ` Vinod Koul
2011-09-20 12:12 ` [PATCHv3] DMAEngine: Define interleaved " Jassi Brar
2011-09-20 16:52 ` Vinod Koul
2011-09-20 18:08 ` Jassi Brar
2011-09-21 6:32 ` Vinod Koul
2011-09-21 6:45 ` Jassi Brar
2011-09-21 6:51 ` Vinod Koul
2011-09-21 7:31 ` Jassi Brar
2011-09-21 10:18 ` Russell King
2011-09-21 15:21 ` Jassi Brar
2011-09-28 6:39 ` [PATCHv4] " Jassi Brar
2011-09-28 9:03 ` Vinod Koul
2011-09-28 15:15 ` Jassi Brar
2011-09-29 11:17 ` Vinod Koul
2011-09-30 6:43 ` Barry Song
2011-09-30 16:01 ` Jassi Brar
2011-10-01 3:05 ` Barry Song
2011-10-01 18:11 ` Vinod Koul
2011-10-01 18:45 ` Jassi Brar
2011-10-01 18:41 ` Jassi Brar
2011-10-01 18:48 ` Jassi Brar
2011-10-02 0:33 ` Barry Song
2011-10-03 6:24 ` Jassi Brar
2011-10-03 16:13 ` Russell King
2011-10-03 16:19 ` Jassi Brar
2011-10-03 17:15 ` Williams, Dan J
2011-10-03 18:23 ` Jassi Brar
2011-10-05 18:19 ` Williams, Dan J
2011-10-06 9:06 ` Jassi Brar
2011-10-05 18:14 ` Williams, Dan J
2011-10-06 7:12 ` Jassi Brar
2011-10-07 5:45 ` Vinod Koul
2011-10-07 11:27 ` Jassi Brar
2011-10-07 14:19 ` Vinod Koul
2011-10-07 14:38 ` Jassi Brar
2011-10-10 6:53 ` Vinod Koul
2011-10-10 9:16 ` Jassi Brar
2011-10-10 9:18 ` Vinod Koul
2011-10-10 9:53 ` Jassi Brar
2011-10-10 10:45 ` Vinod Koul
2011-10-10 11:16 ` Jassi Brar
2011-10-10 16:02 ` Vinod Koul
2011-10-10 16:28 ` Jassi Brar
2011-10-11 11:56 ` Vinod Koul
2011-10-11 15:57 ` Jassi Brar
2011-10-11 16:45 ` Vinod Koul
2011-10-12 5:41 ` Barry Song
2011-10-12 6:19 ` Vinod Koul
2011-10-12 6:30 ` Jassi Brar
2011-10-12 6:53 ` Barry Song
2011-10-11 16:44 ` Williams, Dan J
2011-10-11 18:42 ` Jassi Brar
2011-10-14 18:11 ` Bounine, Alexandre
2011-10-14 17:50 ` Bounine, Alexandre
2011-10-14 18:36 ` Jassi Brar
2011-10-14 19:15 ` Bounine, Alexandre
2011-10-15 11:25 ` Jassi Brar
2011-10-17 14:07 ` Bounine, Alexandre
2011-10-17 15:16 ` Jassi Brar
2011-10-17 18:00 ` Bounine, Alexandre
2011-10-17 19:29 ` Jassi Brar
2011-10-17 21:07 ` Bounine, Alexandre
2011-10-18 5:45 ` Jassi Brar
2011-10-18 7:42 ` Russell King
2011-10-18 8:30 ` Jassi Brar
2011-10-18 8:26 ` Vinod Koul
2011-10-18 8:37 ` Jassi Brar
2011-10-18 14:44 ` Bounine, Alexandre
2011-10-18 9:49 ` Russell King
2011-10-18 11:50 ` Jassi Brar
2011-10-18 11:59 ` Russell King
2011-10-18 17:57 ` Bounine, Alexandre
2011-10-24 3:49 ` Vinod Koul [this message]
2011-10-24 12:36 ` Bounine, Alexandre
2011-10-24 15:27 ` Vinod Koul
2011-10-18 17:26 ` Bounine, Alexandre
2011-10-18 17:35 ` Russell King
2011-10-18 17:53 ` Jassi Brar
2011-10-18 13:51 ` Bounine, Alexandre
2011-10-18 14:54 ` Jassi Brar
2011-10-18 15:15 ` Bounine, Alexandre
2011-09-30 15:47 ` Jassi Brar
2011-10-13 7:03 ` [PATCHv5] " Jassi Brar
2011-10-14 7:32 ` Barry Song
2011-10-14 11:51 ` Jassi Brar
2011-10-14 13:31 ` Vinod Koul
2011-10-14 13:51 ` Jassi Brar
2011-10-14 14:05 ` Vinod Koul
2011-10-14 14:18 ` Vinod Koul
2011-10-14 14:55 ` Barry Song
2011-10-14 15:06 ` Vinod Koul
2011-10-14 15:38 ` Barry Song
2011-10-14 16:09 ` Vinod Koul
2011-10-14 16:35 ` Jassi Brar
2011-10-14 17:04 ` Vinod Koul
2011-10-14 17:59 ` Jassi Brar
2011-10-15 17:11 ` Vinod Koul
2011-10-14 15:16 ` Vinod Koul
2011-10-14 15:50 ` Barry Song
2011-10-16 11:16 ` Jassi Brar
2011-10-16 12:16 ` Vinod Koul
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=1319428149.9355.60.camel@vkoul-udesk3 \
--to=vinod.koul@intel.com \
--cc=21cnbao@gmail.com \
--cc=Alexandre.Bounine@idt.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=jaswinder.singh@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
--cc=workgroup.linux@csr.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
all inboxes | Powered by JetHome®