[alsa-devel] [PATCH 2/4] ASoC: s3c24xx 8 bit sound fix

Takashi Iwai tiwai at suse.de
Wed Nov 12 13:33:34 CET 2008


At Wed, 12 Nov 2008 11:55:47 +0000,
Mark Brown wrote:
> 
> From: Christian Pellegrin <chripell at gmail.com>
> 
> fixes playing/recording of 8 bit audio files.
> 
> Generated on  20081108  against v2.6.27
> 
> Signed-off-by: Christian Pellegrin <chripell at fsfe.org>
> Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
> ---
>  sound/soc/s3c24xx/s3c24xx-i2s.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/s3c24xx/s3c24xx-i2s.c
> index ba4476b..c18977b 100644
> --- a/sound/soc/s3c24xx/s3c24xx-i2s.c
> +++ b/sound/soc/s3c24xx/s3c24xx-i2s.c
> @@ -261,10 +261,17 @@ static int s3c24xx_i2s_hw_params(struct snd_pcm_substream *substream,
>  
>  	switch (params_format(params)) {
>  	case SNDRV_PCM_FORMAT_S8:
> +		iismod &= ~S3C2410_IISMOD_16BIT;
> +		((struct s3c24xx_pcm_dma_params *)
> +		  rtd->dai->cpu_dai->dma_data)->dma_size = 1;
>  		break;
>  	case SNDRV_PCM_FORMAT_S16_LE:
>  		iismod |= S3C2410_IISMOD_16BIT;
> +		((struct s3c24xx_pcm_dma_params *)
> +		  rtd->dai->cpu_dai->dma_data)->dma_size = 2;
>  		break;

I still feel a bit uncomfortable with this as it changes the global
variables.  Maybe better to assign the corresponding fields in the
local struct.


Takashi


More information about the Alsa-devel mailing list