[alsa-devel] pxa2xx-pcm and dma_request
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.
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.
Cheers.
-- Robert
On Tue, May 12, 2009 at 11:06:22PM +0200, Robert Jarzmik wrote:
One main difference is that in "arm context", pxa_dma_request() is called, while in "asoc context", it is not.
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.
AFAICT this isn't a result of the code unification but rather is a case of the code unification mirroring exactly the pre-merge state. It's all pre-git but my best guess would be that the ASoC version was done before the DMA API was introduced - I expect the ASoC variant ought to be updated to use the DMA API but I've not looked closely enough to be certain.
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.
participants (3)
-
Dmitry Eremin-Solenikov
-
Mark Brown
-
Robert Jarzmik