ASoC: wm8962: Do not call configure_bclk() inside wm8962_set_dai_sysclk()
authorFabio Estevam <fabio.estevam@freescale.com>
Fri, 19 Jul 2013 13:22:21 +0000 (10:22 -0300)
committerMark Brown <broonie@linaro.org>
Fri, 19 Jul 2013 17:45:02 +0000 (18:45 +0100)
Currently after playing any audio file, we get the following error message:

$ aplay clarinet.wav
Playing WAVE 'clarinet.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
$ wm8962 0-001a: Unsupported sysclk ratio 544

This error message appears about 5 seconds after the audio playback has
finished.

Quoting Mark Brown [1]:

"The issue here is triggered by the machine
switching from the FLL to direct MCLK usage where the MCLK isn't
generating a useful ratio.

I suspect we should just kill the configure_bclk() in set_sysclk(), that
one isn't safe as we can't reconfigure a live SYSCLK and it's probably
the one that generates your warnings."

Confirmed that the "Unsupported sysclk ratio" error message comes from
wm8962_set_dai_sysclk(), so get rid of wm8962_configure_bclk() inside this
function.

[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/064241.html

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/wm8962.c

index e2de9ec..8b8905d 100644 (file)
@@ -2621,8 +2621,6 @@ static int wm8962_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id,
 
        wm8962->sysclk_rate = freq;
 
-       wm8962_configure_bclk(codec);
-
        return 0;
 }