Messages in this thread | | | Date | Fri, 1 Jun 2012 17:13:45 +0900 | Subject | Re: [alsa-devel] [PATCH v5] sound/soc/lapis: add platform driver for ML7213 | From | Tomoya MORINAGA <> |
| |
On Thu, May 31, 2012 at 7:45 PM, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote: >> > 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.
I understand your order. But isn't it only me ? You mean all ASoC driver uses dmaengine should be written in terms of the ASoC DMA framework. Right ?
>> > 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.
Sorry, I couldn't find. Is your saying Linus's tree this ? git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git However, any ASoC driver doesn't use cyclic DMA's.
> Have you even looked at the soc-dmaengine-pcm > code? It uncondtionally requests a cyclic channel.
I already saw soc-dmaengine-pcm.c
>> 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?
I show the code. +static void i2s_dma_tx_complete(void *arg) +{ ...
+ + ioh_i2s_irq_ctrl(ioh->number, SNDRV_PCM_STREAM_PLAYBACK, IOH_EN_IRQ); ##<<Interrupt control +}
Our device needs interrupt control both before/after DMA transfer like above. In your soc-dma-engine, DMA transfer complete code is in soc-dma-engine, right ? So, the vendor specific code like the above can't be written.
thanks. -- ROHM Co., Ltd. tomoya -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |