[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hr6e9pjub.wl%tiwai@suse.de>
Date: Mon, 17 Mar 2008 14:21:16 +0100
From: Takashi Iwai <tiwai@...e.de>
To: Atsushi Nemoto <anemo@....ocn.ne.jp>
Cc: haavard.skinnemoen@...el.com, linux-kernel@...r.kernel.org,
hcegtvedt@...el.com, avictor.za@...il.com
Subject: Re: [PATCH] at73c213: Fix DMA size at the end of DMA buffer
At Mon, 17 Mar 2008 22:00:27 +0900 (JST),
Atsushi Nemoto wrote:
>
> On Fri, 14 Mar 2008 14:39:42 +0100, Takashi Iwai <tiwai@...e.de> wrote:
> > Add the following constraint in the open callback:
> >
> > err = snd_pcm_hw_constraint_integer(runtime,
> > SNDRV_PCM_HW_PARAM_PERIODS);
> > if (err < 0)
> > return err;
> >
> > This will guarantee that the period size fits with the buffer size.
>
> Thank you! It works fine. Here is a new patch.
Thanks for the patch. So, I should revert your last patch, right?
It's already on ALSA tree...
Takashi
>
> ------------------------------------------------------
> Subject: [PATCH] at73c213: Add constraints for periods value
> From: Atsushi Nemoto <anemo@....ocn.ne.jp>
>
> The interrupt handler always provide runtime->period_size data, so it
> works correctly only if buffer_size was a multiple of period_size.
>
> This patch fixes periodic click noise.
>
> Signed-off-by: Atsushi Nemoto <anemo@....ocn.ne.jp>
> ---
> This patch obsoletes a patch titled "at73c213: fix DMA size at the end
> of DMA buffer" in git-alsa-tiwai.patch in mm tree.
>
> diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c
> index 7c077c6..9a5c118 100644
> --- a/sound/spi/at73c213.c
> +++ b/sound/spi/at73c213.c
> @@ -210,7 +210,13 @@ static int snd_at73c213_pcm_open(struct snd_pcm_substream *substream)
> {
> struct snd_at73c213 *chip = snd_pcm_substream_chip(substream);
> struct snd_pcm_runtime *runtime = substream->runtime;
> + int err;
>
> + /* ensure buffer_size is a multiple of period_size */
> + err = snd_pcm_hw_constraint_integer(runtime,
> + SNDRV_PCM_HW_PARAM_PERIODS);
> + if (err < 0)
> + return err;
> snd_at73c213_playback_hw.rate_min = chip->bitrate;
> snd_at73c213_playback_hw.rate_max = chip->bitrate;
> runtime->hw = snd_at73c213_playback_hw;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists