alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
To: alsa-devel@alsa-project.org
Cc: Ryan Mallon <rmallon@gmail.com>, Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Hartley Sweeten <hsweeten@visionengravers.com>,
	Mark Brown <broonie@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Jaroslav Kysela <perex@perex.cz>,
	Alexander Sverdlin <alexander.sverdlin@gmail.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] ASoC: cirrus: Series of fixes for ep93xx-i2s
Date: Sat, 28 Apr 2018 22:51:37 +0200	[thread overview]
Message-ID: <20180428205142.31921-1-alexander.sverdlin@gmail.com> (raw)

This series is a result of long-running debugging of rarely screwed I2S
stream out of EP9302 chip. Logic analyser shows that the stream is shifted
by one byte (out of 32 bits per sample) which leads to noise intead of
original stream.

DMA is verified to work fine (no underrun). The issue is only reproducible
under high load (CPU or AMBA bus -- not yet clear). This stream corruption
happens at the same time I2S controller reports internal FIFO underrun
(even though according to documentation, it should handle an underrun
gracefully).

First two patches are fixing unrelated issues in I2S driver found during
debugging of the stream shift. Third one is simplification of the driver
to prepare for workaround.

Both controller configuration options for TX FIFO underrun handling were
tested, both do not work reliable. Hence, this ugly watchdog in the last
patch.

The whole series is tested on a board similar to EDB9302 (identical in
sound part).

Alexander Sverdlin (5):
  ASoC: cirrus: i2s: Fix LRCLK configuration
  ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup
  ASoC: cirrus: i2s: Stop enabling I2S2 and I2S3 FIFOs
  ARM: ep93xx: i2s: Add IRQ to platform device resources
  ASoC: cirrus: i2s: IRQ-based stream watchdog

 arch/arm/mach-ep93xx/core.c    |   1 +
 sound/soc/cirrus/Kconfig       |  17 +++++++
 sound/soc/cirrus/edb93xx.c     |   2 +-
 sound/soc/cirrus/ep93xx-i2s.c  | 106 +++++++++++++++++++++++++++++++++--------
 sound/soc/cirrus/snappercl15.c |   2 +-
 5 files changed, 106 insertions(+), 22 deletions(-)

-- 
2.16.2

             reply	other threads:[~2018-04-28 20:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-28 20:51 Alexander Sverdlin [this message]
2018-04-28 20:51 ` [PATCH 1/5] ASoC: cirrus: i2s: Fix LRCLK configuration Alexander Sverdlin
2018-05-01 21:07   ` Applied "ASoC: cirrus: i2s: Fix LRCLK configuration" to the asoc tree Mark Brown
2018-04-28 20:51 ` [PATCH 2/5] ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup Alexander Sverdlin
2018-05-01 21:07   ` Applied "ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup" to the asoc tree Mark Brown
2018-04-28 20:51 ` [PATCH 3/5] ASoC: cirrus: i2s: Stop enabling I2S2 and I2S3 FIFOs Alexander Sverdlin
2018-05-11  2:37   ` Applied "ASoC: cirrus: i2s: Stop enabling I2S2 and I2S3 FIFOs" to the asoc tree Mark Brown
2018-04-28 20:51 ` [PATCH 4/5] ARM: ep93xx: i2s: Add IRQ to platform device resources Alexander Sverdlin
2018-05-11  2:36   ` Applied "ARM: ep93xx: i2s: Add IRQ to platform device resources" to the asoc tree Mark Brown
2018-04-28 20:51 ` [PATCH 5/5] ASoC: cirrus: i2s: IRQ-based stream watchdog Alexander Sverdlin
2018-05-11  2:36   ` Applied "ASoC: cirrus: i2s: IRQ-based stream watchdog" to the asoc tree Mark Brown

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=20180428205142.31921-1-alexander.sverdlin@gmail.com \
    --to=alexander.sverdlin@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=hsweeten@visionengravers.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=perex@perex.cz \
    --cc=rmallon@gmail.com \
    --cc=tiwai@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).