aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/s3c24xx
diff options
context:
space:
mode:
authorChristian Pellegrin <chripell@gmail.com>2008-11-08 02:44:16 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2008-11-10 06:40:57 -0500
commit53599bbc30343f0cbfe750d2af19c9c45b841b82 (patch)
tree3e491efa9c6a974adc9e9800f2c0094396ee9958 /sound/soc/s3c24xx
parent26df91c36fb976af9d08c20028b5cb1317eedcb3 (diff)
ASoC: s3c24xx 8 bit sound fix
fixes playing/recording of 8 bit audio files. Generated on 20081108 against v2.6.27 Signed-off-by: Christian Pellegrin <chripell@fsfe.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/s3c24xx')
-rw-r--r--sound/soc/s3c24xx/s3c24xx-i2s.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/s3c24xx/s3c24xx-i2s.c
index ba4476b55fbc..c18977bceaf2 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,
261 261
262 switch (params_format(params)) { 262 switch (params_format(params)) {
263 case SNDRV_PCM_FORMAT_S8: 263 case SNDRV_PCM_FORMAT_S8:
264 iismod &= ~S3C2410_IISMOD_16BIT;
265 ((struct s3c24xx_pcm_dma_params *)
266 rtd->dai->cpu_dai->dma_data)->dma_size = 1;
264 break; 267 break;
265 case SNDRV_PCM_FORMAT_S16_LE: 268 case SNDRV_PCM_FORMAT_S16_LE:
266 iismod |= S3C2410_IISMOD_16BIT; 269 iismod |= S3C2410_IISMOD_16BIT;
270 ((struct s3c24xx_pcm_dma_params *)
271 rtd->dai->cpu_dai->dma_data)->dma_size = 2;
267 break; 272 break;
273 default:
274 return -EINVAL;
268 } 275 }
269 276
270 writel(iismod, s3c24xx_i2s.regs + S3C2410_IISMOD); 277 writel(iismod, s3c24xx_i2s.regs + S3C2410_IISMOD);