]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: wm8904: fix automatic sysclk configuration
authorMichael Walle <michael@walle.cc>
Fri, 22 Nov 2019 23:25:32 +0000 (00:25 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 27 Nov 2019 12:51:16 +0000 (12:51 +0000)
The simple-card tries to signal the codec to disable rate constraints,
see commit 2458adb8f92a ("SoC: simple-card-utils: set 0Hz to sysclk when
shutdown"). This wasn't handled by the codec, instead it would set the
FLL frequency to 0Hz which isn't working. Since we don't have any rate
constraints just ignore this request.

Fixes: 13409d27cb39 ("ASoC: wm8904: configure sysclk/FLL automatically")
Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20191122232532.22258-1-michael@walle.cc
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm8904.c

index 2a7d23a5daa8de97c45a641d415ed58ce3d7f8d3..d191d81850ee89d8d6a4031557c9f48bd9325ecd 100644 (file)
@@ -1806,6 +1806,12 @@ static int wm8904_set_sysclk(struct snd_soc_dai *dai, int clk_id,
 
        switch (clk_id) {
        case WM8904_CLK_AUTO:
+               /* We don't have any rate constraints, so just ignore the
+                * request to disable constraining.
+                */
+               if (!freq)
+                       return 0;
+
                mclk_freq = clk_get_rate(priv->mclk);
                /* enable FLL if a different sysclk is desired */
                if (mclk_freq != freq) {