ASoC: adav80x: Use params_width() rather than memory format
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
Родитель
9b58e71634
Коммит
cf7d8b274f
|
@ -453,22 +453,22 @@ static int adav80x_set_dac_clock(struct snd_soc_codec *codec,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int adav80x_set_capture_pcm_format(struct snd_soc_codec *codec,
|
static int adav80x_set_capture_pcm_format(struct snd_soc_codec *codec,
|
||||||
struct snd_soc_dai *dai, snd_pcm_format_t format)
|
struct snd_soc_dai *dai, struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec);
|
struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec);
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
|
||||||
switch (format) {
|
switch (params_width(params)) {
|
||||||
case SNDRV_PCM_FORMAT_S16_LE:
|
case 16:
|
||||||
val = ADAV80X_CAPTURE_WORD_LEN16;
|
val = ADAV80X_CAPTURE_WORD_LEN16;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S18_3LE:
|
case 18:
|
||||||
val = ADAV80X_CAPTRUE_WORD_LEN18;
|
val = ADAV80X_CAPTRUE_WORD_LEN18;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S20_3LE:
|
case 20:
|
||||||
val = ADAV80X_CAPTURE_WORD_LEN20;
|
val = ADAV80X_CAPTURE_WORD_LEN20;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S24_LE:
|
case 24:
|
||||||
val = ADAV80X_CAPTURE_WORD_LEN24;
|
val = ADAV80X_CAPTURE_WORD_LEN24;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -482,7 +482,7 @@ static int adav80x_set_capture_pcm_format(struct snd_soc_codec *codec,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int adav80x_set_playback_pcm_format(struct snd_soc_codec *codec,
|
static int adav80x_set_playback_pcm_format(struct snd_soc_codec *codec,
|
||||||
struct snd_soc_dai *dai, snd_pcm_format_t format)
|
struct snd_soc_dai *dai, struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec);
|
struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec);
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
@ -490,17 +490,17 @@ static int adav80x_set_playback_pcm_format(struct snd_soc_codec *codec,
|
||||||
if (adav80x->dai_fmt[dai->id] != SND_SOC_DAIFMT_RIGHT_J)
|
if (adav80x->dai_fmt[dai->id] != SND_SOC_DAIFMT_RIGHT_J)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
switch (format) {
|
switch (params_width(params)) {
|
||||||
case SNDRV_PCM_FORMAT_S16_LE:
|
case 16:
|
||||||
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_16;
|
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_16;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S18_3LE:
|
case 18:
|
||||||
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_18;
|
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_18;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S20_3LE:
|
case 20:
|
||||||
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_20;
|
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_20;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_FORMAT_S24_LE:
|
case 24:
|
||||||
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_24;
|
val = ADAV80X_PLAYBACK_MODE_RIGHT_J_24;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -524,12 +524,10 @@ static int adav80x_hw_params(struct snd_pcm_substream *substream,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||||
adav80x_set_playback_pcm_format(codec, dai,
|
adav80x_set_playback_pcm_format(codec, dai, params);
|
||||||
params_format(params));
|
|
||||||
adav80x_set_dac_clock(codec, rate);
|
adav80x_set_dac_clock(codec, rate);
|
||||||
} else {
|
} else {
|
||||||
adav80x_set_capture_pcm_format(codec, dai,
|
adav80x_set_capture_pcm_format(codec, dai, params);
|
||||||
params_format(params));
|
|
||||||
adav80x_set_adc_clock(codec, rate);
|
adav80x_set_adc_clock(codec, rate);
|
||||||
}
|
}
|
||||||
adav80x->rate = rate;
|
adav80x->rate = rate;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче