On Thu, May 31, 2012 at 02:38:30PM +0900, Tomoya MORINAGA wrote:
On Wed, May 30, 2012 at 9:14 PM, Mark Brown
Please re-read what I wrote.
Let me clarify. Do you say native DMA driver API like dmaengine_prep_slave_sg(), dmaengine_submit() shouldn't be used from ASoC driver, right ?
Your driver should be written in terms of the ASoC DMA framework.
No, all current mainline drivers using the library use cyclic DMA.
I can't see any driver uses cyclic DMA. (I saw linux-next's tree from kernel.org.) Where is your saying "current mainline" ?
Linus' tree, or mine. Have you even looked at the soc-dmaengine-pcm code? It uncondtionally requests a cyclic channel.
However I think it seems difficult for supporting all devices. Because hardware dependency control code can't be added. For example, for ML7213, needs interrupt control both before/after DMA transfer. However, in case of using soc-dmaengine, the control can't be done. Because the processing is in soc-dmaengine.
Please be more specific. What are the concrete problems that you see? Why is it not possible to address them within the framework?