lkml.org 
[lkml]   [2012]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/4] dma: imx-dma: start transfer in issue_pending
    On Mon, Jan 09, 2012 at 10:32:49AM +0100, Sascha Hauer wrote:
    > The DMA API requires that transfers are started in issue_pending

    DMA engine API != DMA API.

    > instead of tx_submit. Fix this.
    >
    > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    > ---
    > drivers/dma/imx-dma.c | 9 ++++-----
    > 1 files changed, 4 insertions(+), 5 deletions(-)
    >
    > diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
    > index 4be55f9..217207b 100644
    > --- a/drivers/dma/imx-dma.c
    > +++ b/drivers/dma/imx-dma.c
    > @@ -186,8 +186,6 @@ static dma_cookie_t imxdma_tx_submit(struct dma_async_tx_descriptor *tx)
    >
    > cookie = imxdma_assign_cookie(imxdmac);
    >
    > - imx_dma_enable(imxdmac->imxdma_channel);
    > -
    > spin_unlock_irq(&imxdmac->lock);
    >
    > return cookie;
    > @@ -332,9 +330,10 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic(
    >
    > static void imxdma_issue_pending(struct dma_chan *chan)
    > {
    > - /*
    > - * Nothing to do. We only have a single descriptor
    > - */
    > + struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
    > +
    > + if (imxdmac->status == DMA_IN_PROGRESS)
    > + imx_dma_enable(imxdmac->imxdma_channel);
    > }
    >
    > static int __init imxdma_probe(struct platform_device *pdev)
    > --
    > 1.7.7.3
    >
    >
    > _______________________________________________
    > linux-arm-kernel mailing list
    > linux-arm-kernel@lists.infradead.org
    > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


    \
     
     \ /
      Last update: 2012-01-09 11:53    [W:0.028 / U:31.692 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site