]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: fsl-asoc-card: Remove fsl_asoc_card_set_bias_level function
authorShengjiu Wang <shengjiu.wang@nxp.com>
Mon, 3 Aug 2020 02:13:31 +0000 (10:13 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 3 Aug 2020 13:17:32 +0000 (14:17 +0100)
commitcfb6b3091b2770521607e148969a3a380efa43d4
treea62b2e15960d21566e19aa300a79e1fdabd96a4c
parent3b6d694f9a4d4fb83cabc82c522ca00a7bb6f8a5
ASoC: fsl-asoc-card: Remove fsl_asoc_card_set_bias_level function

With this case:
aplay -Dhw:x 16khz.wav 24khz.wav
There is sound distortion for 24khz.wav. The reason is that setting
PLL of WM8962 with set_bias_level function, the bias level is not
changed when 24khz.wav is played, then the PLL won't be reset, the
clock is not correct, so distortion happens.

The resolution of this issue is to remove fsl_asoc_card_set_bias_level.
Move PLL configuration to hw_params and hw_free.

After removing fsl_asoc_card_set_bias_level, also test WM8960 case,
it can work.

Fixes: a3a4ce5bbb01 ("ASoC: fsl: Add Freescale Generic ASoC Sound Card with ASRC support")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/1596420811-16690-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl-asoc-card.c