[PATCH] dmaengine: add CSR SiRFprimaII DMAC driver

Vinod Koul vkoul at infradead.org
Fri Sep 9 12:25:08 EDT 2011


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:
> 0~6
> 4~10
> 8~14
> 12~18
> ....
Is there a real world use case of this??

> 
> 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 mailing list