[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