lkml.org 
[lkml]   [2008]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC v3 4/7] dmaengine: Add slave DMA interface
On Feb 18, 2008 6:22 AM, Haavard Skinnemoen <hskinnemoen@atmel.com> wrote:
> On Sat, 16 Feb 2008 13:06:54 -0700
> "Dan Williams" <dan.j.williams@intel.com> wrote:
>
> > I like the direction of the patch, i.e. splitting out separate
> > functionality into separate structs. However, I do not want to break
> > the model of clients sourcing the operations and drivers sinking them
> > which dma_slave_descriptor appears to do. How about adding a
> > scatterlist pointer and an 'unmap_type' to the common descriptor?
> > Where unmap_type selects between, page, single, sg, or no-unmap.
> > Drivers already know the length and direction.
>
> But there are currently no operations available for submitting
> scatterlists as a single descriptor -- the client iterates over the
> scatterlist and submits one descriptor for each entry. So there's no
> way you can associated a scatterlist with a single descriptor. You can
> perhaps attach it to the last one, but that may get you into trouble if
> the transfer is terminated early for some reason.
>

Drivers know how to treat a group of descriptors as one operation. I
see this as no different than the case where an operation exceeds the
hardware's per descriptor max transfer length. The driver internally
creates extra descriptors but the client only needs to worry about one
handle.

[..]

> Btw, this discussion is a bit off-topic for the patch in question, but
> it's an issue that needs to be resolved.
>

Agreed, more code less words :-). I'll try to brew this into a patch.

--
Dan


\
 
 \ /
  Last update: 2008-02-18 23:45    [W:0.072 / U:0.420 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site