[alsa-devel] fsl_ssi.c: Roberto's problem: ssi hangs after some number of samples

Nicolin Chen nicoleotsuka at gmail.com
Wed Nov 4 19:11:45 CET 2015


On Wed, Nov 04, 2015 at 06:52:12PM +0100, Roberto Fichera wrote:

> > I notice your DMA buffer length is very short, which would require
> > very frequency interrupts to service, right?   Can you increase your
> > DMA buffer length by increasing the period size?  Maybe that would
> > help reduce the likelyhood of a failure.  
> 
> Not sure if this can help! SSI TDM is set to 32 slots but only 2 are masked. So every frame only
> 2 slots are pushed/pulled from the FIFOs. maxburst is set to pull a block of 8 elements from the
> FIFOs, DMA cyclic call it period. So the full DMA buffer is filled in buffer size / period DMA iterations.

A smaller period size may course DMA buffer over/underrun -- ALSA
over/underrun even though it seems that you didn't report any.

And apparently SDMA would get more interrupt/callbacks. I would
suggest a larger period size and buffer size although I cannot
tie your problem with the size. But you may try.


More information about the Alsa-devel mailing list