mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
ASoC: wm8978: pll incorrectly configured when codec is master
commit 55c6f4cb6e upstream.
When MCLK is supplied externally and BCLK and LRC are configured as outputs
(codec is master), the PLL values are only calculated correctly on the first
transmission. On subsequent transmissions, at differenct sample rates, the
wrong PLL values are used. Test for f_opclk instead of f_pllout to determine
if the PLL values are needed.
Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
174aad546c
commit
dd5df62c48
@@ -750,7 +750,7 @@ static int wm8978_hw_params(struct snd_pcm_substream *substream,
|
||||
wm8978->mclk_idx = -1;
|
||||
f_sel = wm8978->f_mclk;
|
||||
} else {
|
||||
if (!wm8978->f_pllout) {
|
||||
if (!wm8978->f_opclk) {
|
||||
/* We only enter here, if OPCLK is not used */
|
||||
int ret = wm8978_configure_pll(codec);
|
||||
if (ret < 0)
|
||||
|
||||
Reference in New Issue
Block a user