[alsa-devel] [PATCH] ASoC: WM8580: Debug BCLK and sample size

Liam Girdwood lrg at slimlogic.co.uk
Tue Dec 7 13:48:32 CET 2010


On Tue, 2010-12-07 at 19:23 +0900, Jassi Brar wrote:
> In case of SNDRV_PCM_FORMAT_S32_LE, we need to set WM8580_AIF_LENGTH_32,
> rather than WM8580_AIF_LENGTH_24.
> Also, the BCLK has to be 64fs, for sample size of 20, 24 and 32 bits.
> 
> Signed-off-by: Jassi Brar <jassi.brar at samsung.com>
> ---
>  sound/soc/codecs/wm8580.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
> index cb7765f..45efc94 100644
> --- a/sound/soc/codecs/wm8580.c
> +++ b/sound/soc/codecs/wm8580.c
> @@ -491,16 +491,16 @@ static int wm8580_paif_hw_params(struct snd_pcm_substream *substream,
>  		paifa |= 0x8;
>  		break;
>  	case SNDRV_PCM_FORMAT_S20_3LE:
> -		paifa |= 0x10;
> +		paifa |= 0x0;

Any reason why we are OR ing paifa with 0 ?

>  		paifb |= WM8580_AIF_LENGTH_20;
>  		break;
>  	case SNDRV_PCM_FORMAT_S24_LE:
> -		paifa |= 0x10;
> +		paifa |= 0x0;
>  		paifb |= WM8580_AIF_LENGTH_24;
>  		break;
>  	case SNDRV_PCM_FORMAT_S32_LE:
> -		paifa |= 0x10;
> -		paifb |= WM8580_AIF_LENGTH_24;
> +		paifa |= 0x0;
> +		paifb |= WM8580_AIF_LENGTH_32;
>  		break;
>  	default:
>  		return -EINVAL;

Thanks

Liam
-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk



More information about the Alsa-devel mailing list