[alsa-devel] About snd_dmaengine_pcm_trigger()

Kuninori Morimoto kuninori.morimoto.gx at gmail.com
Wed Mar 12 01:28:07 CET 2014

Hi Lars, Mark

> > The reason why we factored out the dmaengine DMA stuff is because
> > there is a standard API that hides the implementation details and is
> > supposed to behave the same for each system. For PIO you do not have
> > such a abstraction layer that hides the details, so I'm not sure how
> > similar PIO between different platforms will actually be.
> I keep thinking that there ought to be *some* commonality between the
> platforms that use FIQs if only in the timer stuff at least.  Part of
> the reason that doesn't get factored out is that it's normally just a
> temporary bodge until DMA is working of course, though Qualcomm do it
> because their DMA for the DSP doesn't fit well with dmaengine and the
> i.MX AC'97 needs it since the hardware doesn't fully understand AC'97.

Yes, there is no pioengine (never created :)
I'm not sure detail of non-Renesas platform driver whether it is supporting PIO.
But at least my driver (= FSI/rcar) has PIO support,
and I think these can share same method/function.
So, I create pcm_pio.c under ${LINUX}/sound/soc/sh for Renesas chip
with pcm_dmaengine similar style (as much as possible).
And, use common ${LINUX}/sound/core/pcm_dmaengine.c for DMA.
How about this ?

More information about the Alsa-devel mailing list