[alsa-devel] [PATCH] ASoC: wm8962: fix lambda value
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
Fixes: 9a76f1ff6e29 ("ASoC: Add initial WM8962 CODEC driver") Signed-off-by: Shengjiu Wang shengjiu.wang@nxp.com --- sound/soc/codecs/wm8962.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 3e5c69fbc33a..d9d59f45833f 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2788,7 +2788,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);
@@ -2858,7 +2858,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 */
On Wed, Dec 11, 2019 at 07:57:22PM +0800, Shengjiu Wang wrote:
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
Fixes: 9a76f1ff6e29 ("ASoC: Add initial WM8962 CODEC driver") Signed-off-by: Shengjiu Wang shengjiu.wang@nxp.com
sound/soc/codecs/wm8962.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 3e5c69fbc33a..d9d59f45833f 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2788,7 +2788,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;
} else { gcd_fll = gcd(target, fratio * Fref);fll_div->lambda = 1;
@@ -2858,7 +2858,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;
How well tested is this change, and is it addressing an issue you have observed? I agree this does better fit the datasheet just a little nervous as its an older part that has seen a lot of usage.
Thanks, Charles
On Thu, Dec 12, 2019 at 04:48:35PM +0000, Charles Keepax wrote:
On Wed, Dec 11, 2019 at 07:57:22PM +0800, Shengjiu Wang wrote:
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
How well tested is this change, and is it addressing an issue you have observed? I agree this does better fit the datasheet just a little nervous as its an older part that has seen a lot of usage.
I've got a feeling that requirement might've been added in later versions of the datasheet...
Hi
On Fri, Dec 13, 2019 at 12:54 AM Mark Brown broonie@kernel.org wrote:
On Thu, Dec 12, 2019 at 04:48:35PM +0000, Charles Keepax wrote:
On Wed, Dec 11, 2019 at 07:57:22PM +0800, Shengjiu Wang wrote:
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
How well tested is this change, and is it addressing an issue you have observed? I agree this does better fit the datasheet just a little nervous as its an older part that has seen a lot of usage.
I've got a feeling that requirement might've been added in later versions of the datasheet...
We encounter an issue that when Integer mode, the lambda=theta=0, the output sound is slower than expected. After change lambda=1 the issue is gone.
Best regards Wang Shengjiu
On Fri, Dec 13, 2019 at 11:09:09AM +0800, Shengjiu Wang wrote:
Hi
On Fri, Dec 13, 2019 at 12:54 AM Mark Brown broonie@kernel.org wrote:
On Thu, Dec 12, 2019 at 04:48:35PM +0000, Charles Keepax wrote:
On Wed, Dec 11, 2019 at 07:57:22PM +0800, Shengjiu Wang wrote:
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
How well tested is this change, and is it addressing an issue you have observed? I agree this does better fit the datasheet just a little nervous as its an older part that has seen a lot of usage.
I've got a feeling that requirement might've been added in later versions of the datasheet...
We encounter an issue that when Integer mode, the lambda=theta=0, the output sound is slower than expected. After change lambda=1 the issue is gone.
Cool alright if there is a real issue here, then we should be getting it fixed.
Acked-by: Charles Keepax ckeepax@opensource.cirrus.com
Thanks, Charles
Hi Shengjiu,
On Fri, Dec 13, 2019 at 12:10 AM Shengjiu Wang shengjiu.wang@gmail.com wrote:
We encounter an issue that when Integer mode, the lambda=theta=0, the output sound is slower than expected. After change lambda=1 the issue is gone.
This is important information and it would be nice to have it included in the commit log.
Thanks
The patch
ASoC: wm8962: fix lambda value
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.5
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From 556672d75ff486e0b6786056da624131679e0576 Mon Sep 17 00:00:00 2001
From: Shengjiu Wang shengjiu.wang@nxp.com Date: Wed, 11 Dec 2019 19:57:22 +0800 Subject: [PATCH] ASoC: wm8962: fix lambda value
According to user manual, it is required that FLL_LAMBDA > 0 in all cases (Integer and Franctional modes).
Fixes: 9a76f1ff6e29 ("ASoC: Add initial WM8962 CODEC driver") Signed-off-by: Shengjiu Wang shengjiu.wang@nxp.com Acked-by: Charles Keepax ckeepax@opensource.cirrus.com Link: https://lore.kernel.org/r/1576065442-19763-1-git-send-email-shengjiu.wang@nx... Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/codecs/wm8962.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 3e5c69fbc33a..d9d59f45833f 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2788,7 +2788,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);
@@ -2858,7 +2858,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 */
participants (5)
-
Charles Keepax
-
Fabio Estevam
-
Mark Brown
-
Shengjiu Wang
-
Shengjiu Wang