| From a8961cae29c38e225120c40c3340dbde2f552e60 Mon Sep 17 00:00:00 2001 |
| From: John Hsu <KCHSU0@nuvoton.com> |
| Date: Tue, 13 Sep 2016 11:56:03 +0800 |
| Subject: ASoC: nau8825: fix bug in FLL parameter |
| |
| From: John Hsu <KCHSU0@nuvoton.com> |
| |
| commit a8961cae29c38e225120c40c3340dbde2f552e60 upstream. |
| |
| In the FLL parameter calculation, the FVCO should choose the maximum one. |
| The patch is to fix the bug about the wrong FVCO chosen. |
| |
| Signed-off-by: John Hsu <KCHSU0@nuvoton.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/codecs/nau8825.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/soc/codecs/nau8825.c |
| +++ b/sound/soc/codecs/nau8825.c |
| @@ -1907,7 +1907,7 @@ static int nau8825_calc_fll_param(unsign |
| /* Calculate the FLL 10-bit integer input and the FLL 16-bit fractional |
| * input based on FDCO, FREF and FLL ratio. |
| */ |
| - fvco = div_u64(fvco << 16, fref * fll_param->ratio); |
| + fvco = div_u64(fvco_max << 16, fref * fll_param->ratio); |
| fll_param->fll_int = (fvco >> 16) & 0x3FF; |
| fll_param->fll_frac = fvco & 0xFFFF; |
| return 0; |