lkml.org 
[lkml]   [2011]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCHv4] DMAEngine: Define interleaved transfer request api
    From
    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/

    \
     
     \ /
      Last update: 2011-10-03 18:21    [W:0.022 / U:0.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site