Messages in this thread | | | From | Barry Song <> | Date | Sat, 10 Sep 2011 07:37:59 +0800 | Subject | Re: [PATCH] dmaengine: add CSR SiRFprimaII DMAC driver |
| |
2011/9/10 Vinod Koul <vkoul@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: >> 0~6 >> 4~10 >> 8~14 >> 12~18 >> .... > 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. > >
Thanks barry
| |