[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53D7F0A4.2050301@linutronix.de>
Date: Tue, 29 Jul 2014 21:06:12 +0200
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: linux-serial@...r.kernel.org
CC: linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, tony@...mide.com,
balbi@...com, Russell King <rmk+kernel@....linux.org.uk>,
Vinod Koul <vinod.koul@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
dmaengine@...r.kernel.org
Subject: Re: [PATCH 2/7] dmaengine: omap-dma: complete the transfer on terminate_all
On 07/29/2014 08:58 PM, Sebastian Andrzej Siewior wrote:
> diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c
> index b19f04f..81ede01 100644
> --- a/drivers/dma/omap-dma.c
> +++ b/drivers/dma/omap-dma.c
> @@ -970,6 +970,12 @@ static int omap_dma_terminate_all(struct omap_chan *c)
>
> /* Prevent this channel being scheduled */
> spin_lock(&d->lock);
> + if (!c->desc && !list_empty(&c->node)) {
> + struct virt_dma_desc *vd = vchan_next_desc(&c->vc);
> +
> + if (vd)
> + dma_cookie_complete(&vd->tx);
> + }
Why is start of the transfer deferred to the tasklet unless it is a
periodic transfer? Couldn't it be started right away?
> list_del_init(&c->node);
> spin_unlock(&d->lock);
>
Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists