Re: Tearing down DMA transfer setup after DMA client has finished

From: Vinod Koul
Date: Thu Dec 08 2016 - 05:28:00 EST


On Wed, Dec 07, 2016 at 04:44:55PM +0000, Måns Rullgård wrote:
> Vinod Koul <vinod.koul@xxxxxxxxx> writes:
> >>
> >> What you're proposing, Vinod, is to make a channel exclusive
> >> to a driver, as long as the driver has not explicitly released
> >> the channel, via dma_release_channel(), right?
> >
> > Precisely, but yes the downside of that is concurrent access are
> > limited, but am not sure if driver implements virtual channels and
> > allows that..
>
> My driver implements virtual channels. The problem is that the physical
> dma channels signal completion slightly too soon, at least with
> mem-to-device transfers. Apparently we need to keep the sbox routing
> until the peripheral indicates that it has actually received all the
> data.

So do we need concurrent accesses by all clients.

--
~Vinod