lkml.org 
[lkml]   [2012]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 05/15] dmaengine: omap-dma: Add support for no_wakeup in cyclic mode
    Date
    When requested disable all DMA interrupts for the channel. In this mode
    user space does not expect periodic reports from kernel about the progress
    of the audio stream - PulseAudio for example support this type of mode.

    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    CC: Russell King <rmk+kernel@arm.linux.org.uk>
    ---
    drivers/dma/omap-dma.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c
    index c6a711d..cbe087e 100644
    --- a/drivers/dma/omap-dma.c
    +++ b/drivers/dma/omap-dma.c
    @@ -374,6 +374,7 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic(
    struct omap_desc *d;
    dma_addr_t dev_addr;
    unsigned es, sync_type;
    + unsigned long tx_flags = 0;
    u32 burst;

    if (dir == DMA_DEV_TO_MEM) {
    @@ -429,7 +430,11 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic(
    if (!c->cyclic) {
    c->cyclic = true;
    omap_dma_link_lch(c->dma_ch, c->dma_ch);
    - omap_enable_dma_irq(c->dma_ch, OMAP_DMA_FRAME_IRQ);
    +
    + if (!no_wakeup) {
    + omap_enable_dma_irq(c->dma_ch, OMAP_DMA_FRAME_IRQ);
    + tx_flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
    + }
    omap_disable_dma_irq(c->dma_ch, OMAP_DMA_BLOCK_IRQ);
    }

    @@ -438,7 +443,7 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic(
    omap_set_dma_dest_burst_mode(c->dma_ch, OMAP_DMA_DATA_BURST_16);
    }

    - return vchan_tx_prep(&c->vc, &d->vd, DMA_CTRL_ACK | DMA_PREP_INTERRUPT);
    + return vchan_tx_prep(&c->vc, &d->vd, tx_flags);
    }

    static int omap_dma_slave_config(struct omap_chan *c, struct dma_slave_config *cfg)
    --
    1.7.12


    \
     
     \ /
      Last update: 2012-09-13 16:21    [W:0.025 / U:33.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site