Thread (14 messages) 14 messages, 4 authors, 2011-07-23

[PATCH] dmaengine: add dma_ctrl_cmd to pass buffer stride configuration

From: Raju, Sundaram <hidden>
Date: 2011-07-12 11:31:42
Also in: linux-omap, lkml

-----Original Message-----
From: Jassi Brar [mailto:jassisinghbrar at gmail.com]
Sent: Tuesday, July 12, 2011 4:51 PM
To: Linus Walleij
Cc: Raju, Sundaram; linux-arm-kernel at lists.infradead.org; linux-
kernel at vger.kernel.org; davinci-linux-open-source at linux.davincidsp.com;
linux at arm.linux.org.uk; dan.j.williams at intel.com; linux-omap at vger.kernel.org
Subject: Re: [PATCH] dmaengine: add dma_ctrl_cmd to pass buffer stride
configuration

On Tue, Jul 12, 2011 at 3:33 PM, Linus Walleij [off-list ref]
wrote:
quoted
On Tue, Jul 12, 2011 at 6:17 AM, Jassi Brar [off-list ref]
wrote:
quoted
quoted
1) Striding, in one form or other, is supported by other DMACs as well.
? The number will only increase in future.
? Are we to add ?<VENDOR>_DMA_STRIDE_CONFIG for each case ?
If we are sure about this and striding will work in a similar way on all
then let's have the enum named DMA_STRIDE_CONFIG and move the
passed-in struct to <linux/dmaengine.h) then?

Would that be:

struct dma_stride_config {
? ?u32 read_bytes;
? ?u32 skip_bytes;
};

Or something more complex?
Well, I am not sure if striding needs any special treatment at all.
Why not have client drivers prepare and submit sg-list.
Let the DMAC drivers interpret/parse the sg-list and program it
as strides if the h/w supports it.
If anything, we should make preparation and submission of sg-list
as efficient as possible.
Jassi,

sg_lists describe only a bunch of disjoint buffers. But what if the
DMAC can skip and read the bytes within each of the buffers in
the sg_list? (like TI EDMAC and TI SDMAC)
How can that information be passed to the offload
engine driver from the client?

~Sundaram
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help