From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roberto Fichera Subject: Re: fsl_ssi.c: Roberto's problem: ssi hangs after some number of samples Date: Wed, 4 Nov 2015 22:47:05 +0100 Message-ID: <563A7CD9.6030804@tekno-soft.it> References: <5634870A.4080206@tekno-soft.it> <563A253C.7080709@tekno-soft.it> <563A380E.8060406@tekno-soft.it> <563A45CC.2070605@tekno-soft.it> <20151104181144.GA4057@Asurada-CZ80> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.tekno-soft.it (li153-180.members.linode.com [109.74.206.180]) by alsa0.perex.cz (Postfix) with ESMTP id BE3E026073E for ; Wed, 4 Nov 2015 22:47:22 +0100 (CET) In-Reply-To: <20151104181144.GA4057@Asurada-CZ80> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Nicolin Chen Cc: Fabio Estevam , "alsa-devel@alsa-project.org" , Shengjiu Wang , Caleb Crome , "arnaud.mouiche@invoxia.com" , Markus Pargmann , "shawn.guo@linaro.org" , Fabio Estevam List-Id: alsa-devel@alsa-project.org On 11/04/2015 07:11 PM, Nicolin Chen wrote: > 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. Do you mean something like 2KB buffer and a period of 64 or 128 frames? SDMA is supposed to wait the FIFO capacity to complete a period, right?