[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231220115318.o3ql3fjtjktsf73t@pengutronix.de>
Date: Wed, 20 Dec 2023 12:53:18 +0100
From: Marco Felsch <m.felsch@...gutronix.de>
To: Shengjiu Wang <shengjiu.wang@....com>
Cc: abelvesa@...nel.org, peng.fan@....com, mturquette@...libre.com,
sboyd@...nel.org, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, festevam@...il.com, linux-imx@....com,
shengjiu.wang@...il.com, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] clk: imx: pll14xx: change naming of fvco to fout
Hi,
thanks for the patch.
On 23-12-20, Shengjiu Wang wrote:
> pll14xx_calc_rate() output the fout clock not the fvco clock
> The relation of fvco and fout is:
> fout = fvco / (1 << sdiv)
>
> So use correct naming for the clock.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@....com>
lgtm
Reviewed-by: Marco Felsch <m.felsch@...gutronix.de>
> ---
> drivers/clk/imx/clk-pll14xx.c | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c
> index 0d58d85c375e..d63564dbb12c 100644
> --- a/drivers/clk/imx/clk-pll14xx.c
> +++ b/drivers/clk/imx/clk-pll14xx.c
> @@ -104,15 +104,15 @@ static const struct imx_pll14xx_rate_table *imx_get_pll_settings(
> static long pll14xx_calc_rate(struct clk_pll14xx *pll, int mdiv, int pdiv,
> int sdiv, int kdiv, unsigned long prate)
> {
> - u64 fvco = prate;
> + u64 fout = prate;
>
> - /* fvco = (m * 65536 + k) * Fin / (p * 65536) */
> - fvco *= (mdiv * 65536 + kdiv);
> + /* fout = (m * 65536 + k) * Fin / (p * 65536) / (1 << sdiv) */
> + fout *= (mdiv * 65536 + kdiv);
> pdiv *= 65536;
>
> - do_div(fvco, pdiv << sdiv);
> + do_div(fout, pdiv << sdiv);
>
> - return fvco;
> + return fout;
> }
>
> static long pll1443x_calc_kdiv(int mdiv, int pdiv, int sdiv,
> @@ -131,7 +131,7 @@ static void imx_pll14xx_calc_settings(struct clk_pll14xx *pll, unsigned long rat
> {
> u32 pll_div_ctl0, pll_div_ctl1;
> int mdiv, pdiv, sdiv, kdiv;
> - long fvco, rate_min, rate_max, dist, best = LONG_MAX;
> + long fout, rate_min, rate_max, dist, best = LONG_MAX;
> const struct imx_pll14xx_rate_table *tt;
>
> /*
> @@ -143,6 +143,7 @@ static void imx_pll14xx_calc_settings(struct clk_pll14xx *pll, unsigned long rat
> * d) -32768 <= k <= 32767
> *
> * fvco = (m * 65536 + k) * prate / (p * 65536)
> + * fout = (m * 65536 + k) * prate / (p * 65536) / (1 << sdiv)
> */
>
> /* First try if we can get the desired rate from one of the static entries */
> @@ -173,8 +174,8 @@ static void imx_pll14xx_calc_settings(struct clk_pll14xx *pll, unsigned long rat
> pr_debug("%s: in=%ld, want=%ld Only adjust kdiv %ld -> %d\n",
> clk_hw_get_name(&pll->hw), prate, rate,
> FIELD_GET(KDIV_MASK, pll_div_ctl1), kdiv);
> - fvco = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
> - t->rate = (unsigned int)fvco;
> + fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
> + t->rate = (unsigned int)fout;
> t->mdiv = mdiv;
> t->pdiv = pdiv;
> t->sdiv = sdiv;
> @@ -190,13 +191,13 @@ static void imx_pll14xx_calc_settings(struct clk_pll14xx *pll, unsigned long rat
> mdiv = clamp(mdiv, 64, 1023);
>
> kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate, prate);
> - fvco = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
> + fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
>
> /* best match */
> - dist = abs((long)rate - (long)fvco);
> + dist = abs((long)rate - (long)fout);
> if (dist < best) {
> best = dist;
> - t->rate = (unsigned int)fvco;
> + t->rate = (unsigned int)fout;
> t->mdiv = mdiv;
> t->pdiv = pdiv;
> t->sdiv = sdiv;
> --
> 2.34.1
>
>
>
Powered by blists - more mailing lists