mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
ASoC: fix params_rate() macro use in several codecs
commit b3172f222a upstream.
Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro
returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical
sampling rate. Fix them.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e4dd8ca5be
commit
efd38f4284
@@ -425,23 +425,23 @@ static int wm8510_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||
|
||||
/* filter coefficient */
|
||||
switch (params_rate(params)) {
|
||||
case SNDRV_PCM_RATE_8000:
|
||||
case 8000:
|
||||
adn |= 0x5 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_11025:
|
||||
case 11025:
|
||||
adn |= 0x4 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_16000:
|
||||
case 16000:
|
||||
adn |= 0x3 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_22050:
|
||||
case 22050:
|
||||
adn |= 0x2 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_32000:
|
||||
case 32000:
|
||||
adn |= 0x1 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_44100:
|
||||
case SNDRV_PCM_RATE_48000:
|
||||
case 44100:
|
||||
case 48000:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -379,23 +379,23 @@ static int wm8940_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
iface |= (1 << 9);
|
||||
|
||||
switch (params_rate(params)) {
|
||||
case SNDRV_PCM_RATE_8000:
|
||||
case 8000:
|
||||
addcntrl |= (0x5 << 1);
|
||||
break;
|
||||
case SNDRV_PCM_RATE_11025:
|
||||
case 11025:
|
||||
addcntrl |= (0x4 << 1);
|
||||
break;
|
||||
case SNDRV_PCM_RATE_16000:
|
||||
case 16000:
|
||||
addcntrl |= (0x3 << 1);
|
||||
break;
|
||||
case SNDRV_PCM_RATE_22050:
|
||||
case 22050:
|
||||
addcntrl |= (0x2 << 1);
|
||||
break;
|
||||
case SNDRV_PCM_RATE_32000:
|
||||
case 32000:
|
||||
addcntrl |= (0x1 << 1);
|
||||
break;
|
||||
case SNDRV_PCM_RATE_44100:
|
||||
case SNDRV_PCM_RATE_48000:
|
||||
case 44100:
|
||||
case 48000:
|
||||
break;
|
||||
}
|
||||
ret = snd_soc_write(codec, WM8940_ADDCNTRL, addcntrl);
|
||||
|
||||
@@ -480,23 +480,23 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||
|
||||
/* filter coefficient */
|
||||
switch (params_rate(params)) {
|
||||
case SNDRV_PCM_RATE_8000:
|
||||
case 8000:
|
||||
adn |= 0x5 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_11025:
|
||||
case 11025:
|
||||
adn |= 0x4 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_16000:
|
||||
case 16000:
|
||||
adn |= 0x3 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_22050:
|
||||
case 22050:
|
||||
adn |= 0x2 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_32000:
|
||||
case 32000:
|
||||
adn |= 0x1 << 1;
|
||||
break;
|
||||
case SNDRV_PCM_RATE_44100:
|
||||
case SNDRV_PCM_RATE_48000:
|
||||
case 44100:
|
||||
case 48000:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user