[alsa-devel] [PATCH v2] ASoC: wm8962: Do not call configure_bclk() inside wm8962_set_dai_sysclk()

Fabio Estevam festevam at gmail.com
Fri Jul 19 15:22:21 CEST 2013

From: Fabio Estevam <fabio.estevam at freescale.com>

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 

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

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

Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
Changes since v1:
- Remove wm8962_configure_bclk() from wm8962_set_dai_sysclk

 sound/soc/codecs/wm8962.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index e2de9ec..8b8905d 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -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;

More information about the Alsa-devel mailing list