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

From: Måns Rullgård
Date: Thu Dec 08 2016 - 06:44:33 EST


Vinod Koul <vinod.koul@xxxxxxxxx> writes:

> 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.

Depends on what people do with the chips.

--
Måns Rullgård