lkml.org 
[lkml]   [2012]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/11] dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic
    Date
    Add context parameter to device_prep_slave_sg() and device_prep_dma_cyclic()
    interfaces to allow passing client/target specific information associated
    with the data transfer.

    Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
    Cc: Jassi Brar <jaswinder.singh@linaro.org>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Li Yang <leoli@freescale.com>
    ---
    include/linux/dmaengine.h | 10 ++++++----
    1 files changed, 6 insertions(+), 4 deletions(-)

    diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
    index 679b349..2251bfa 100644
    --- a/include/linux/dmaengine.h
    +++ b/include/linux/dmaengine.h
    @@ -575,10 +575,11 @@ struct dma_device {
    struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
    struct dma_chan *chan, struct scatterlist *sgl,
    unsigned int sg_len, enum dma_transfer_direction direction,
    - unsigned long flags);
    + unsigned long flags, void *context);
    struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)(
    struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
    - size_t period_len, enum dma_transfer_direction direction);
    + size_t period_len, enum dma_transfer_direction direction,
    + void *context);
    struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)(
    struct dma_chan *chan, struct dma_interleaved_template *xt,
    unsigned long flags);
    @@ -607,12 +608,13 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,

    static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
    struct dma_chan *chan, void *buf, size_t len,
    - enum dma_transfer_direction dir, unsigned long flags)
    + enum dma_transfer_direction dir, unsigned long flags, void *context)
    {
    struct scatterlist sg;
    sg_init_one(&sg, buf, len);

    - return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags);
    + return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags,
    + context);
    }

    static inline int dmaengine_terminate_all(struct dma_chan *chan)
    --
    1.7.8.4


    \
     
     \ /
      Last update: 2012-02-02 22:35    [W:0.022 / U:30.728 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site