ASoC: nau8825: fix bug in FLL parameter
authorJohn Hsu <[email protected]>
Tue, 13 Sep 2016 03:56:03 +0000 (11:56 +0800)
committerMark Brown <[email protected]>
Wed, 14 Sep 2016 15:14:37 +0000 (16:14 +0100)
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 <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
sound/soc/codecs/nau8825.c

index 5c9707ac4bbff20e1240d9961ea28bcc8d5af82f..cc32699f8e298d96c92d437e02780a639026bcc2 100644 (file)
@@ -1912,7 +1912,7 @@ static int nau8825_calc_fll_param(unsigned int fll_in, unsigned int fs,
        /* 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;