Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18932974 authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Greg Kroah-Hartman
Browse files

ASoC: wm8962: fix lambda value



[ Upstream commit 556672d75ff486e0b6786056da624131679e0576 ]

According to user manual, it is required that FLL_LAMBDA > 0
in all cases (Integer and Franctional modes).

Fixes: 9a76f1ff ("ASoC: Add initial WM8962 CODEC driver")
Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/1576065442-19763-1-git-send-email-shengjiu.wang@nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent d8ec4cf1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2792,7 +2792,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,

	if (target % Fref == 0) {
		fll_div->theta = 0;
		fll_div->lambda = 0;
		fll_div->lambda = 1;
	} else {
		gcd_fll = gcd(target, fratio * Fref);

@@ -2862,7 +2862,7 @@ static int wm8962_set_fll(struct snd_soc_component *component, int fll_id, int s
		return -EINVAL;
	}

	if (fll_div.theta || fll_div.lambda)
	if (fll_div.theta)
		fll1 |= WM8962_FLL_FRAC;

	/* Stop the FLL while we reconfigure */