> -----Original Message----- > From: Jassi Brar [mailto:jassisinghbrar@xxxxxxxxx] > Sent: Tuesday, July 12, 2011 4:51 PM > To: Linus Walleij > Cc: Raju, Sundaram; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; davinci-linux-open-source@xxxxxxxxxxxxxxxxxxxx; > linux@xxxxxxxxxxxxxxxx; dan.j.williams@xxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] dmaengine: add dma_ctrl_cmd to pass buffer stride > configuration > > On Tue, Jul 12, 2011 at 3:33 PM, Linus Walleij <linus.walleij@xxxxxxxxxx> > wrote: > > On Tue, Jul 12, 2011 at 6:17 AM, Jassi Brar <jassisinghbrar@xxxxxxxxx> > wrote: > > > >> 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 ��.n��������+%������w��{.n�����{�������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f