提交 dacc2aef 编写于 作者: M Mark Brown

ASoC: sgtl5000: Convert to params_width()

The CODEC doesn't care how data is laid out in memory.
Signed-off-by: NMark Brown <broonie@linaro.org>
上级 794f33d2
...@@ -724,25 +724,25 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream, ...@@ -724,25 +724,25 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,
return ret; return ret;
/* set i2s data format */ /* set i2s data format */
switch (params_format(params)) { switch (params_width(params)) {
case SNDRV_PCM_FORMAT_S16_LE: case 16:
if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J) if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J)
return -EINVAL; return -EINVAL;
i2s_ctl |= SGTL5000_I2S_DLEN_16 << SGTL5000_I2S_DLEN_SHIFT; i2s_ctl |= SGTL5000_I2S_DLEN_16 << SGTL5000_I2S_DLEN_SHIFT;
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_32FS << i2s_ctl |= SGTL5000_I2S_SCLKFREQ_32FS <<
SGTL5000_I2S_SCLKFREQ_SHIFT; SGTL5000_I2S_SCLKFREQ_SHIFT;
break; break;
case SNDRV_PCM_FORMAT_S20_3LE: case 20:
i2s_ctl |= SGTL5000_I2S_DLEN_20 << SGTL5000_I2S_DLEN_SHIFT; i2s_ctl |= SGTL5000_I2S_DLEN_20 << SGTL5000_I2S_DLEN_SHIFT;
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS << i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS <<
SGTL5000_I2S_SCLKFREQ_SHIFT; SGTL5000_I2S_SCLKFREQ_SHIFT;
break; break;
case SNDRV_PCM_FORMAT_S24_LE: case 24:
i2s_ctl |= SGTL5000_I2S_DLEN_24 << SGTL5000_I2S_DLEN_SHIFT; i2s_ctl |= SGTL5000_I2S_DLEN_24 << SGTL5000_I2S_DLEN_SHIFT;
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS << i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS <<
SGTL5000_I2S_SCLKFREQ_SHIFT; SGTL5000_I2S_SCLKFREQ_SHIFT;
break; break;
case SNDRV_PCM_FORMAT_S32_LE: case 32:
if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J) if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J)
return -EINVAL; return -EINVAL;
i2s_ctl |= SGTL5000_I2S_DLEN_32 << SGTL5000_I2S_DLEN_SHIFT; i2s_ctl |= SGTL5000_I2S_DLEN_32 << SGTL5000_I2S_DLEN_SHIFT;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册