[PATCH] dmaengine: add CSR SiRFprimaII DMAC driver
21cnbao at gmail.com
Fri Sep 9 19:37:59 EDT 2011
2011/9/10 Vinod Koul <vkoul at infradead.org>:
> On Fri, 2011-09-09 at 10:52 +0800, Barry Song wrote:
>> > Actually, there is no real case for xlen > dma_width. this picture is
>> > only explaining what will happen if we set xlen > dma_width.
>> > when xlen > dma_width, for every line, dma will transfer only
>> > dma_width. Then the extra data is wrapped around
>> > to the next data line, it will corrupt the DMA transfer for
>> > multiple-line 2-D DMA since the extra data will overlap with the real
>> > next line.
>> > if we set ylen to 0, the DMA becomes 1D, the wrap-around of the extra
>> > data has no issue nobody will overlap with it.
>> For example, if we set xlen = 7, dma_width =4, ylen > 0
>> then dma will happen like:
> Is there a real world use case of this??
no real case actually and hardware spec says it is wrong to set xlen >
dma_width since it causes the above overlap.
>> But for ylen=0, it has no issue. there is no next line to overlap with
>> the extra data.
>> in case we set xlen = 0, something funny will happen:
>> i will copy the same memory again and again(ylen+1 times).
> ~Vinod Koul
> Intel Corp.
More information about the linux-arm-kernel