ASoC: sgtl5000: Convert to params_width()
The CODEC doesn't care how data is laid out in memory. Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Родитель
794f33d2fb
Коммит
dacc2aefcc
|
@ -724,25 +724,25 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,
|
|||
return ret;
|
||||
|
||||
/* set i2s data format */
|
||||
switch (params_format(params)) {
|
||||
case SNDRV_PCM_FORMAT_S16_LE:
|
||||
switch (params_width(params)) {
|
||||
case 16:
|
||||
if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J)
|
||||
return -EINVAL;
|
||||
i2s_ctl |= SGTL5000_I2S_DLEN_16 << SGTL5000_I2S_DLEN_SHIFT;
|
||||
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_32FS <<
|
||||
SGTL5000_I2S_SCLKFREQ_SHIFT;
|
||||
break;
|
||||
case SNDRV_PCM_FORMAT_S20_3LE:
|
||||
case 20:
|
||||
i2s_ctl |= SGTL5000_I2S_DLEN_20 << SGTL5000_I2S_DLEN_SHIFT;
|
||||
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS <<
|
||||
SGTL5000_I2S_SCLKFREQ_SHIFT;
|
||||
break;
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
case 24:
|
||||
i2s_ctl |= SGTL5000_I2S_DLEN_24 << SGTL5000_I2S_DLEN_SHIFT;
|
||||
i2s_ctl |= SGTL5000_I2S_SCLKFREQ_64FS <<
|
||||
SGTL5000_I2S_SCLKFREQ_SHIFT;
|
||||
break;
|
||||
case SNDRV_PCM_FORMAT_S32_LE:
|
||||
case 32:
|
||||
if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J)
|
||||
return -EINVAL;
|
||||
i2s_ctl |= SGTL5000_I2S_DLEN_32 << SGTL5000_I2S_DLEN_SHIFT;
|
||||
|
|
Загрузка…
Ссылка в новой задаче