2009/5/13 Robert Jarzmik robert.jarzmik@free.fr:
Hi Mark and Dimitry,
I've been playing for some time with DMA on the PXA series. I was wondering if the behaviour of pxa2xx-pcm is correct.
As far as I understand, in an asoc context, the __pxa2xx_pcm_open() is called, while in "arm context", pxa2xx_pcm_open() is called, which calls __pxa2xx_pcm_open().
This was introduced by commit a6d77317678148c973bb0131cc5a3a772f756d23 I think.
One main difference is that in "arm context", pxa_dma_request() is called, while in "asoc context", it is not.
This was done by intent as before code merge plain ARM driver used DMA while ASoC didn't. That was done mainly because I didn't have all the hw variants (only pxa255 at hand) and didn't want to introduce any points of possible failure. Now merging DMA code into generic code path would be a nice feature though.
I'd like one of you to cross-check, as I must admit I'm not following all the impacts of the pcm code split-up.
The initial impact of the merge should be void, as it was an _unification_ of code presented in ASoC and non-ASoC drivers.