From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: linux-kernel@vger.kernel.org,
Hans-Christian Egtvedt <hcegtvedt@atmel.com>,
Haavard Skinnemoen <hskinnemoen@atmel.com>,
Andrew Victor <avictor.za@gmail.com>
Subject: Re: [PATCH] at73c213: Monaural support
Date: Fri, 07 Mar 2008 13:13:57 +0100 [thread overview]
Message-ID: <47D13185.4080803@atmel.com> (raw)
In-Reply-To: <20080307.190234.55730878.nemoto@toshiba-tops.co.jp>
Atsushi Nemoto wrote:
> This patch add support for monaural playback to at73c213 driver. The
> sound will be apear on L-channel. Tested on AT91SAM9260-EK.
>
This works fine for me on AT32AP7000 on STK1000 as well.
Although, I had to use 32 * 1024 buffer_bytes_max and 16 * 1024
period_bytes_max. Higher buffer_bytes_max resulted in glitching sound
when only using one channel. Nothing to do with this patch.
> Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
> ---
> diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c
> index 89d6e9c..a7839cc 100644
> --- a/sound/spi/at73c213.c
> +++ b/sound/spi/at73c213.c
> @@ -118,7 +118,7 @@ static struct snd_pcm_hardware snd_at73c213_playback_hw = {
> .rates = SNDRV_PCM_RATE_CONTINUOUS,
> .rate_min = 8000, /* Replaced by chip->bitrate later. */
> .rate_max = 50000, /* Replaced by chip->bitrate later. */
> - .channels_min = 2,
> + .channels_min = 1,
> .channels_max = 2,
> .buffer_bytes_max = 64 * 1024 - 1,
> .period_bytes_min = 512,
> @@ -228,6 +228,14 @@ static int snd_at73c213_pcm_close(struct snd_pcm_substream *substream)
> static int snd_at73c213_pcm_hw_params(struct snd_pcm_substream *substream,
> struct snd_pcm_hw_params *hw_params)
> {
> + struct snd_at73c213 *chip = snd_pcm_substream_chip(substream);
> + int channels = params_channels(hw_params);
> + int val;
> +
> + val = ssc_readl(chip->ssc->regs, TFMR);
> + val = SSC_BFINS(TFMR_DATNB, channels - 1, val);
> + ssc_writel(chip->ssc->regs, TFMR, val);
> +
> return snd_pcm_lib_malloc_pages(substream,
> params_buffer_bytes(hw_params));
> }
> @@ -249,10 +257,12 @@ static int snd_at73c213_pcm_prepare(struct snd_pcm_substream *substream)
>
> ssc_writel(chip->ssc->regs, PDC_TPR,
> (long)runtime->dma_addr);
> - ssc_writel(chip->ssc->regs, PDC_TCR, runtime->period_size * 2);
> + ssc_writel(chip->ssc->regs, PDC_TCR,
> + runtime->period_size * runtime->channels);
> ssc_writel(chip->ssc->regs, PDC_TNPR,
> (long)runtime->dma_addr + block_size);
> - ssc_writel(chip->ssc->regs, PDC_TNCR, runtime->period_size * 2);
> + ssc_writel(chip->ssc->regs, PDC_TNCR,
> + runtime->period_size * runtime->channels);
>
> return 0;
> }
> @@ -375,7 +385,8 @@ static irqreturn_t snd_at73c213_interrupt(int irq, void *dev_id)
>
> ssc_writel(chip->ssc->regs, PDC_TNPR,
> (long)runtime->dma_addr + offset);
> - ssc_writel(chip->ssc->regs, PDC_TNCR, runtime->period_size * 2);
> + ssc_writel(chip->ssc->regs, PDC_TNCR,
> + runtime->period_size * runtime->channels);
> retval = IRQ_HANDLED;
> }
>
next prev parent reply other threads:[~2008-03-07 12:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-07 10:02 [PATCH] at73c213: Monaural support Atsushi Nemoto
2008-03-07 12:13 ` Hans-Christian Egtvedt [this message]
2008-03-07 15:25 ` Atsushi Nemoto
2008-03-07 15:28 ` Hans-Christian Egtvedt
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=47D13185.4080803@atmel.com \
--to=hans-christian.egtvedt@atmel.com \
--cc=anemo@mba.ocn.ne.jp \
--cc=avictor.za@gmail.com \
--cc=hcegtvedt@atmel.com \
--cc=hskinnemoen@atmel.com \
--cc=linux-kernel@vger.kernel.org \
/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.