Messages in this thread |  | | | Date | Mon, 3 Oct 2011 21:49:43 +0530 | | Subject | Re: [PATCHv4] DMAEngine: Define interleaved transfer request api | | From | Jassi Brar <> |
| |
On 3 October 2011 21:43, Russell King <rmk@arm.linux.org.uk> wrote: > On Mon, Oct 03, 2011 at 11:54:23AM +0530, Jassi Brar wrote: >> On 2 October 2011 06:03, Barry Song <21cnbao@gmail.com> wrote: >> > 2011/10/2 Jassi Brar <jaswinder.singh@linaro.org> >> >> >> > For example, it can't use >> >> > MEM_TO_MEM to map, it still need to know whether the memory is source >> >> > or dest. >> >> MEM_TO_MEM means "From Memory Source To Memory Destination" >> >> Map Src buffer with DMA_TO_DEVICE and Dst buffer with DMA_FROM_DEVICE >> >> >> >> MEM_TO_DEV means "From Memory Source To FIFO Destination" >> >> Map Src buffer with DMA_TO_DEVICE. >> >> >> >> DEV_TO_MEM means "From FIFO Source To Memory Destination" >> >> Map Dst buffer with DMA_FROM_DEVICE >> >> >> >> DEV_TO_DEV means "From FIFO Source To FIFO Destination" >> >> >> >> What else would you want to know ? >> > >> > that is the problem. for example, drivers can't use MEM_TO_MEM as a >> > flag to do dma mapping. so xfer_direction can't cover all that >> > dma_data_direction can do. that's why you need both >> > dma_data_direction and xfer_direction with some similar flags in them. >> > >> The client drivers map the src/dst buffers and the dmac driver unmaps >> them by default(!). For which, the dmac driver doesn't look at anything >> other than >> DMA_COMPL_SKIP_SRC/DST_UNMAP >> DMA_COMPL_SRC/DST_UNMAP_SINGLE >> bits of 'enum dma_ctrl_flags'. >> For this unmap'ing purpose, the usage of dma_data_direction is already >> internal to the dmac driver. > > No. Slave DMA engine drivers do *not* (and if they do, they should *not*) > honour the unmapping of submitted buffers. > > The unmapping of these buffers by the DMA engine driver is intended to be > done for the async_tx API and not slave DMA. > The proposed api is usable by both Slave as well as Async(Memcpy etc). So it *does* matter here. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |