Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: [PATCH 3/4] ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"
Date: Fri, 14 Nov 2008 14:58:45 +0000	[thread overview]
Message-ID: <1226674726-11678-3-git-send-email-broonie@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1226674726-11678-2-git-send-email-broonie@opensource.wolfsonmicro.com>

This reverts commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6.  Christian
Pellegrin <chripell@gmail.com> reported that on some systems the patch
caused DMA to fail which is much more serious than the original skipped
audio issue.  Further investigation by Dave shows that the behaviour
depends on the clock speed of the SoC - a better fix is neeeded.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 sound/soc/s3c24xx/s3c24xx-pcm.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/sound/soc/s3c24xx/s3c24xx-pcm.c b/sound/soc/s3c24xx/s3c24xx-pcm.c
index 341198b..e13e614 100644
--- a/sound/soc/s3c24xx/s3c24xx-pcm.c
+++ b/sound/soc/s3c24xx/s3c24xx-pcm.c
@@ -78,8 +78,7 @@ struct s3c24xx_runtime_data {
  * place a dma buffer onto the queue for the dma system
  * to handle.
 */
-static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream,
-				int dma_max)
+static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream)
 {
 	struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
 	dma_addr_t pos = prtd->dma_pos;
@@ -87,10 +86,7 @@ static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream,
 
 	DBG("Entered %s\n", __func__);
 
-	if (!dma_max)
-		dma_max = prtd->dma_limit;
-
-	while (prtd->dma_loaded < dma_max) {
+	while (prtd->dma_loaded < prtd->dma_limit) {
 		unsigned long len = prtd->dma_period;
 
 		DBG("dma_loaded: %d\n", prtd->dma_loaded);
@@ -136,7 +132,7 @@ static void s3c24xx_audio_buffdone(struct s3c2410_dma_chan *channel,
 	spin_lock(&prtd->lock);
 	if (prtd->state & ST_RUNNING) {
 		prtd->dma_loaded--;
-		s3c24xx_pcm_enqueue(substream, 0);
+		s3c24xx_pcm_enqueue(substream);
 	}
 
 	spin_unlock(&prtd->lock);
@@ -253,7 +249,7 @@ static int s3c24xx_pcm_prepare(struct snd_pcm_substream *substream)
 	prtd->dma_pos = prtd->dma_start;
 
 	/* enqueue dma buffers */
-	s3c24xx_pcm_enqueue(substream, 1);
+	s3c24xx_pcm_enqueue(substream);
 
 	return ret;
 }
-- 
1.5.6.5

  reply	other threads:[~2008-11-14 14:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-14 14:57 [PATCH 0/4] ASoC updates Mark Brown
2008-11-14 14:58 ` [PATCH 1/4] ASoC: Fix supported sample rates of TWL4030 audio codec Mark Brown
2008-11-14 14:58   ` [PATCH 2/4] ASoC: OMAP: Add more supported sample rates into McBSP DAI driver Mark Brown
2008-11-14 14:58     ` Mark Brown [this message]
2008-11-14 14:58       ` [PATCH 4/4] ASoC: Add WM8728 codec driver Mark Brown
2008-11-14 16:03 ` [PATCH 0/4] ASoC updates Takashi Iwai

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=1226674726-11678-3-git-send-email-broonie@opensource.wolfsonmicro.com \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /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