diff options
-rw-r--r-- | 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 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); |