Takashi Iwai de42cc
From 556672d75ff486e0b6786056da624131679e0576 Mon Sep 17 00:00:00 2001
Takashi Iwai de42cc
From: Shengjiu Wang <shengjiu.wang@nxp.com>
Takashi Iwai de42cc
Date: Wed, 11 Dec 2019 19:57:22 +0800
Takashi Iwai de42cc
Subject: [PATCH] ASoC: wm8962: fix lambda value
Takashi Iwai de42cc
Git-commit: 556672d75ff486e0b6786056da624131679e0576
Takashi Iwai de42cc
Patch-mainline: v5.5-rc3
Takashi Iwai de42cc
References: git-fixes
Takashi Iwai de42cc
Takashi Iwai de42cc
According to user manual, it is required that FLL_LAMBDA > 0
Takashi Iwai de42cc
in all cases (Integer and Franctional modes).
Takashi Iwai de42cc
Takashi Iwai de42cc
Fixes: 9a76f1ff6e29 ("ASoC: Add initial WM8962 CODEC driver")
Takashi Iwai de42cc
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Takashi Iwai de42cc
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Takashi Iwai de42cc
Link: https://lore.kernel.org/r/1576065442-19763-1-git-send-email-shengjiu.wang@nxp.com
Takashi Iwai de42cc
Signed-off-by: Mark Brown <broonie@kernel.org>
Takashi Iwai de42cc
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai de42cc
Takashi Iwai de42cc
---
Takashi Iwai de42cc
 sound/soc/codecs/wm8962.c | 4 ++--
Takashi Iwai de42cc
 1 file changed, 2 insertions(+), 2 deletions(-)
Takashi Iwai de42cc
Takashi Iwai de42cc
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
Takashi Iwai de42cc
index 3e5c69fbc33a..d9d59f45833f 100644
Takashi Iwai de42cc
--- a/sound/soc/codecs/wm8962.c
Takashi Iwai de42cc
+++ b/sound/soc/codecs/wm8962.c
Takashi Iwai de42cc
@@ -2788,7 +2788,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
Takashi Iwai de42cc
 
Takashi Iwai de42cc
 	if (target % Fref == 0) {
Takashi Iwai de42cc
 		fll_div->theta = 0;
Takashi Iwai de42cc
-		fll_div->lambda = 0;
Takashi Iwai de42cc
+		fll_div->lambda = 1;
Takashi Iwai de42cc
 	} else {
Takashi Iwai de42cc
 		gcd_fll = gcd(target, fratio * Fref);
Takashi Iwai de42cc
 
Takashi Iwai de42cc
@@ -2858,7 +2858,7 @@ static int wm8962_set_fll(struct snd_soc_component *component, int fll_id, int s
Takashi Iwai de42cc
 		return -EINVAL;
Takashi Iwai de42cc
 	}
Takashi Iwai de42cc
 
Takashi Iwai de42cc
-	if (fll_div.theta || fll_div.lambda)
Takashi Iwai de42cc
+	if (fll_div.theta)
Takashi Iwai de42cc
 		fll1 |= WM8962_FLL_FRAC;
Takashi Iwai de42cc
 
Takashi Iwai de42cc
 	/* Stop the FLL while we reconfigure */
Takashi Iwai de42cc
-- 
Takashi Iwai de42cc
2.16.4
Takashi Iwai de42cc