From: Nicolin Chen <nicoleotsuka@gmail.com>
To: Aurelien Bouin <a_bouin@yahoo.fr>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Mark Brown <broonie@kernel.org>,
Fabio Estevam <festevam@gmail.com>
Subject: Re: iMX6 ESAI TDM with underrun and overrun support
Date: Fri, 19 Dec 2014 01:23:05 -0800 [thread overview]
Message-ID: <20141219092304.GA8780@Asurada> (raw)
In-Reply-To: <938681467.624323.1418893243288.JavaMail.yahoo@jws11102g.mail.ir2.yahoo.com>
On Thu, Dec 18, 2014 at 09:00:43AM +0000, Aurelien Bouin wrote:
> Yes and No.
> It supports up to 32 words (slots) per period on each transmit line, in the limit of 128 words (FIFO limitations)
> My reference is in the Reference Manual of the iMX6 "26.1.1 Features" in the ESAI chapter
>
> FYI in the fsl_esai.c you can find how multiples lines and slots are handled :
> -> fsl_esai_hw_params : u32 pins = DIV_ROUND_UP(channels, esai_priv->slots);
> Then it will enable the number of hardware pins used in transmit and receive mode with TFCR or RFCR :
> val = ESAI_xFCR_xWA(width) | ESAI_xFCR_xFWM(esai_priv->fifo_depth) |
> (tx ? ESAI_xFCR_TE(pins) | ESAI_xFCR_TIEN : ESAI_xFCR_RE(pins));
> I first apply the patch on my kernel I am currently using 64 channels (32 slots of 8bits width on 2 transmits pins)
>
> But for example you can use up to 6 transmits pins with a configuration of 2 slots of 16 bits width and 12 channels ask in alsa ...
Ah, I forgot you could use several pins....
> >http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git
> I already tried the branches :
> imx_3.10.31_1.1.0_alpha
> imx_3.10.31_1.1.0_beta2
> They implemented a fsl_reset function somewhere ... but it is never called ... and the problem persist ...
I have a bit doubt whether your problem is the underrun or not. Because
I remember the work around submitter did test with underrun issue.
The reset function would be trigger by the ESAI internal ISR but be called
through the ISR from dma callback.
There's a fsl_esai_check_xrun() inside the ESAI. You can try to see if
it's really underrun happened.
And besides, which pins from IOMUX are you using for ESAI?
--Nicolin
next prev parent reply other threads:[~2014-12-19 9:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-17 15:13 iMX6 ESAI TDM with underrun and overrun support Aurelien Bouin
2014-12-17 16:04 ` Fabio Estevam
2014-12-17 19:16 ` Fabio Estevam
2014-12-17 19:19 ` Fabio Estevam
2014-12-17 23:36 ` Nicolin Chen
2014-12-18 9:00 ` Aurelien Bouin
2014-12-18 11:00 ` Fabio Estevam
2014-12-19 9:23 ` Nicolin Chen [this message]
2014-12-19 10:13 ` Aurelien Bouin
2014-12-19 20:09 ` Nicolin Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141219092304.GA8780@Asurada \
--to=nicoleotsuka@gmail.com \
--cc=a_bouin@yahoo.fr \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=festevam@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.