At Wed, 05 Sep 2007 14:47:22 +0530, Markus Franke wrote: > > Clemens Ladisch wrote: > > Markus Franke wrote: > >> It seems like that after the 8th period is transferred > >> pcm_trigger(TRIGGER_STOP) isn't getting called. > > > > Indeed. The stop trigger is called when the entire stream is > > to be stopped. > > Well, start and stop trigger get always called mutually. In pseudo code > it would look like this: > > ---snip--- > TRIGGER_START > > transfer one period via DMA > > TRIGGER_STOP > > update DMAC settings in DMA transfer finished callback and call > snd_pcm_period_elapsed() > > TRIGGER_START > > transfer one period via DMA > > TRIGGER_STOP > > update DMAC settings in DMA transfer finished callback and call > snd_pcm_period_elapsed() > > ....and so on. > ---snap--- > > At least this is the behaviour I experienced. It's your mis-interpretation of START/STOP concenpt in the ALSA framework. The trigger START and STOP mean the start/stop of the whole streaming operation. It's basically called from the outside, i.e. the application starts/stops the stream. If you need to keep some DMA start/stop operations internally, do it in the driver lowlevel side internally. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel