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

Roberto Fichera kernel at tekno-soft.it
Wed Nov 4 18:52:12 CET 2015


On 11/04/2015 06:41 PM, Caleb Crome wrote:
> On Wed, Nov 4, 2015 at 8:53 AM, Roberto Fichera <kernel at tekno-soft.it> wrote:
>> On 11/04/2015 04:33 PM, Roberto Fichera wrote:
>>>         *RX DMA frame count=36795*
>>>         RX DMA addr=0x9ef0e000
>>>         RX DMA buffer len=16
>>>         *TX DMA frame count=36795*
>>>         TX DMA addr=0x9ee49000
>>>         TX DMA buffer len=16
>
> 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.

> Although it would be good to
> be able to recover from a failure gracefully.

Yep! I will try to restart the DMA channels from a failure to see if this might work or not.

> -Caleb
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>



More information about the Alsa-devel mailing list