Vinod Koul <vinod.koul@xxxxxxxxx> writes: > On Mon, Mar 16, 2015 at 08:05:21AM +0100, Robert Jarzmik wrote: >> > On Fri, Mar 13, 2015 at 10:23:50AM +0100, Robert Jarzmik wrote: >> > Before this pls read up on this Documentation/crypto/async-tx-api.txt >> > Section 3.3 >> Ah you mean the "ACK" flag is what I'm looking for, right ? I can use that, as >> long as I can resubmit a tx without "acking" it, which looks fine wrt the >> documentation you made me read. > That is how async_tx API is supposed to use this Great, works for me. >> >> One more thing, there is another usecase, in which case you'll want to have a >> release function : >> - driver does a tx = dmaengine_prep_slave_sg() >> - driver is forced to shutdown : >> => dmaengine_terminate_all() >> >> The tx was never submitted. How should the resources by freed in that case ? > well dmaengine_terminate_all() is designed to cleanup the channel. Once this > call is invoked, all descriptors in all lists: active, pending, freed are > cleaned up. All transactions must be cleaned including current active ones. Ah ok, I understand, so it's the slave driver responsability to keep track of the transaction so that it can be freed. Actually the slave drivers I had a look at don't keep that "track". And that's perfectly in sync with one of my future patches to "virt-dma" which creates another queue "allocated" to enhance the existing submitted, issued and completed ones. I'm almost finished with my new dma driver for pxa architectures, testing it for 1 week on camera flows. Once that is over, I'll submit it, to kill off the dma support in arch/arm/mach-pxa ... Thanks for your time, I have all the information I needed to finish it now. Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html