From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 16/18] dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers
Date: Sun, 21 Aug 2011 09:33:06 +0100 [thread overview]
Message-ID: <20110821083306.GA12028@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <4E4CCF7B.8060704@st.com>
On Thu, Aug 18, 2011 at 02:08:19PM +0530, Viresh Kumar wrote:
> On 8/14/2011 2:06 PM, Russell King - ARM Linux wrote:
> > On Fri, Jul 29, 2011 at 04:19:26PM +0530, Viresh Kumar wrote:
> >> Untill now, sg_len greater than one is not supported. This patch adds support to
> >> do that.
> >
> > I'm not sure that this is the correct approach. memcpy()s can only be
> > used with one single buffer, so the sg stuff for that (and the unmapping
> > support) doesn't make sense at all.
> >
>
> I am not sure if i get this completely. In memcpy, we still don't support
> more than one sg. We have created a new member in txd, which keeps track of
> data (addresses, len).
Yes, but we shouldn't need to translate it into any kind of scatterlist.
> While unmapping, we are unmapping only single dsg. I think i don't need to
> use list_for_each_entry() there, as there is only one element present in list.
> But can still keep that.
Correct.
> > The only place where this makes sense is the slave sg stuff. I wonder
> > whether we can better deal with that by having the LLI setup code deal
> > with one SG list entry at a time, and chain each together.
> >
> > Something I've also been pondering which is related to this is linking
> > together DMA operations using the LLI chaining when interrupts and
> > callbacks aren't required. It's a very similar problem. Other DMA
> > engine drivers do this.
>
> Are you talking about linking all sg's together or linking multiple calls to
> prep_dma_memcpy? I am handling the first.
I'm talking about letting the hardware process as many txds as possible
without calling back into the driver to have it setup the next txd.
> > Finally, note that some of the PL08x code assumes that for any TXD,
> > the LLI list is a contiguous array. See the first part of
> > pl08x_getbytes_chan(). That needs fixing as soon as we start going to
> > more than one SG list entry.
>
> We still have one contiguous array for LLI list. In pl08x_fill_llis_for_desc()
> i am using same txd->llis_va for all sg's.
That's ok then.
next prev parent reply other threads:[~2011-08-21 8:33 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-29 10:49 [PATCH 00/18] dmaengine/amba-pl08x updates Viresh Kumar
2011-07-29 10:49 ` [PATCH 01/18] ARM: asm/pl080.h: Protect against multiple inclusion of header file Viresh Kumar
2011-07-30 22:16 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 02/18] dmaengine/amba-pl08x: Resolve formatting issues Viresh Kumar
2011-07-29 11:00 ` Russell King - ARM Linux
2011-07-29 11:21 ` viresh kumar
2011-07-29 12:05 ` Koul, Vinod
2011-07-29 15:25 ` viresh kumar
2011-07-29 10:49 ` [PATCH 03/18] dmaengine/amba-pl08x: Complete doc comment for struct pl08x_txd Viresh Kumar
2011-07-29 10:49 ` [PATCH 04/18] dmaengine/amba-pl08x: Remove redundant comment and rewrite original Viresh Kumar
2011-07-29 12:09 ` Koul, Vinod
2011-07-29 15:47 ` viresh kumar
2011-07-29 16:34 ` Russell King - ARM Linux
2011-07-30 22:32 ` Linus Walleij
2011-07-30 22:57 ` Russell King - ARM Linux
2011-07-30 23:37 ` Linus Walleij
2011-07-31 5:51 ` viresh kumar
2011-07-31 9:06 ` Russell King - ARM Linux
2011-07-29 10:49 ` [PATCH 05/18] dmaengine/amba-pl08x: Changing few prints to dev_dbg from dev_info Viresh Kumar
2011-07-30 22:34 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 06/18] dmaengine/amba-pl08x: Simplify pl08x_ensure_on() Viresh Kumar
2011-07-30 22:36 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 07/18] dmaengine/amba-pl08x: Enable/Disable amba_pclk with channel requests Viresh Kumar
2011-07-30 12:07 ` Russell King - ARM Linux
2011-07-30 13:05 ` Russell King - ARM Linux
2011-07-30 23:53 ` Linus Walleij
2011-07-31 0:04 ` Linus Walleij
2011-07-31 17:04 ` Russell King - ARM Linux
2011-08-02 9:05 ` Linus Walleij
2011-08-03 12:55 ` Russell King - ARM Linux
2011-08-09 19:50 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 08/18] dmaengine/amba-pl08x: No need to check "ch->signal < 0" Viresh Kumar
2011-07-31 0:09 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 09/18] dmaengine/amba-pl08x: Schedule tasklet in case of error interrupt Viresh Kumar
2011-07-29 12:16 ` Koul, Vinod
2011-07-29 13:02 ` Russell King - ARM Linux
2011-07-29 15:30 ` viresh kumar
2011-08-04 4:25 ` Koul, Vinod
2011-08-04 5:54 ` viresh kumar
2011-08-04 5:32 ` Koul, Vinod
2011-08-14 8:29 ` Russell King - ARM Linux
2011-07-31 0:19 ` Linus Walleij
2011-07-31 5:33 ` viresh kumar
2011-07-29 10:49 ` [PATCH 10/18] dmaengine/amba-pl08x: Get rid of pl08x_pre_boundary() Viresh Kumar
2011-07-29 11:05 ` Russell King - ARM Linux
2011-07-29 12:32 ` Koul, Vinod
2011-07-29 15:58 ` viresh kumar
2011-07-29 12:19 ` Koul, Vinod
2011-07-29 15:40 ` viresh kumar
2011-07-31 0:24 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 11/18] dmaengine/amba-pl08x: max_bytes_per_lli is TRANSFER_SIZE * src_width (not MIN(width)) Viresh Kumar
2011-07-31 0:27 ` Linus Walleij
2011-07-31 9:09 ` Russell King - ARM Linux
2011-07-29 10:49 ` [PATCH 12/18] dmaengine/amba-pl08x: Add prep_single_byte_llis() routine Viresh Kumar
2011-07-29 11:06 ` Russell King - ARM Linux
2011-07-29 11:30 ` viresh kumar
2011-07-29 10:49 ` [PATCH 13/18] dmaengine/amba-pl08x: Align lli_len to max(src.width, dst.width) Viresh Kumar
2011-07-29 12:43 ` Koul, Vinod
2011-07-29 15:39 ` viresh kumar
2011-07-31 0:30 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 14/18] dmaengine/amba-pl08x: Choose peripheral bus as master bus Viresh Kumar
2011-07-31 0:36 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 15/18] dmaengine/amba-pl08x: Pass flow controller information with slave channel data Viresh Kumar
2011-07-29 11:10 ` Russell King - ARM Linux
2011-07-29 11:31 ` viresh kumar
2011-07-31 0:40 ` Linus Walleij
2011-07-31 5:36 ` viresh kumar
2011-07-29 10:49 ` [PATCH 16/18] dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers Viresh Kumar
2011-07-31 0:41 ` Linus Walleij
2011-08-14 8:36 ` Russell King - ARM Linux
2011-08-15 10:11 ` Linus Walleij
2011-08-18 8:38 ` Viresh Kumar
2011-08-21 8:33 ` Russell King - ARM Linux [this message]
2011-08-23 4:22 ` Viresh Kumar
2011-08-23 5:20 ` Koul, Vinod
2011-08-26 3:41 ` Viresh Kumar
2011-08-26 8:03 ` Linus Walleij
2011-08-26 8:51 ` Viresh Kumar
2011-09-01 10:07 ` Viresh Kumar
2011-09-07 18:42 ` Koul, Vinod
2011-09-07 23:01 ` Linus Walleij
2011-09-08 3:50 ` Viresh Kumar
2011-09-08 10:29 ` Linus Walleij
2011-09-08 21:54 ` [PATCH 16/18] dmaengine/ambhe rest oa-pl08x: " Vinod Koul
2011-09-20 6:19 ` Vinod Koul
2011-09-20 6:27 ` Viresh Kumar
2011-09-20 8:08 ` Vinod Koul
2011-07-29 10:49 ` [PATCH 17/18] dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool Viresh Kumar
2011-07-31 0:44 ` Linus Walleij
2011-07-29 10:49 ` [PATCH 18/18] dmaengine/amba-pl08x: Call pl08x_free_txd() instead of calling kfree() directly Viresh Kumar
2011-07-29 11:15 ` Russell King - ARM Linux
2011-07-29 11:38 ` viresh kumar
2011-07-31 0:45 ` Linus Walleij
2011-07-31 5:39 ` viresh kumar
2011-07-29 10:57 ` [PATCH 00/18] dmaengine/amba-pl08x updates Russell King - ARM Linux
2011-07-29 11:14 ` viresh kumar
2011-07-29 11:19 ` Russell King - ARM Linux
2011-07-29 11:23 ` viresh kumar
2011-07-29 12:43 ` Russell King - ARM Linux
2011-07-29 15:22 ` viresh kumar
2011-07-29 11:58 ` Koul, Vinod
2011-08-01 5:30 ` viresh kumar
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=20110821083306.GA12028@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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).