[alsa-devel] [patch 1/2] alsa: ASoC driver for s6000 I2S interface

Mark Brown broonie at sirena.org.uk
Fri Mar 27 17:56:16 CET 2009

On Fri, Mar 27, 2009 at 05:49:33PM +0100, Daniel Glöckner wrote:

> s6000_i2s_start and s6000_i2s_stop are called in s6000_pcm_trigger and
> s6000_i2s_int_sources is called in the interrupt handler.

> s6000_i2s_start can't be called from the dai's trigger callback on playback as
> the data sheet is very explicit about the order of enabling dma and i2s.

> s6000_i2s_stop is called there for consistency. The order on disabling is
> uncritical.

Are these two drivers really separate?  The reason for splitting out the
DMA driver in the normal case is that it is common for CPUs to be able
to use the same DMA driver for multiple interfaces - if that's not the
case then don't feel obligated to split them up too much.

Also note that you can pass data from the I2S driver to the PCM driver
via the dma_data pointer - if you need to pass a little vtable through
there then that's another option.

More information about the Alsa-devel mailing list