lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ