ASoC: nau8822: Disable internal PLL if freq_out is zero
authorHui Wang <hui.wang@canonical.com>
Mon, 30 May 2022 04:01:51 +0000 (12:01 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2022 11:33:04 +0000 (12:33 +0100)
commitfed3d9297a9bf8b342c034e74a1fdba6940fe84a
treed63847de5d675519d75a6175880c5e3d429f96ff
parentbe1a63daffdd152ba4c7b71ab9fec2e39259b42b
ASoC: nau8822: Disable internal PLL if freq_out is zero

After finishing the playback or recording, the machine driver might
call snd_soc_dai_set_pll(codec, pll_id, 0, 0, 0) to stop the internal
PLL, but with the codec driver nau8822, it will print error as below:
 nau8822 0-001a: Unsupported input clock 0
 fsl-asoc-card sound-nau8822: failed to stop FLL: -22

Refer to the function wm8962_set_fll() in the codec driver wm8962, if
the freq_out is zero, turn off the internal PLL and return 0.

Cc: David Lin <ctlin0@nuvoton.com>
Cc: John Hsu <kchsu0@nuvoton.com>
Cc: Seven Li <wtli@nuvoton.com>
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Link: https://lore.kernel.org/r/20220530040151.95221-3-hui.wang@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/nau8822.c