Re: [PATCH V3] clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()

From: Jon Hunter
Date: Mon Sep 09 2024 - 06:57:58 EST



On 06/09/2024 15:14, Jon Hunter wrote:

On 06/09/2024 12:39, Satya Priya Kakitapalli wrote:
In zonda_pll_adjust_l_val() replace the divide operator with comparison
operator to fix below build error and smatch warning.

drivers/clk/qcom/clk-alpha-pll.o: In function `clk_zonda_pll_set_rate':
clk-alpha-pll.c:(.text+0x45dc): undefined reference to `__aeabi_uldivmod'

smatch warnings:
drivers/clk/qcom/clk-alpha-pll.c:2129 zonda_pll_adjust_l_val() warn: replace
divide condition '(remainder * 2) / prate' with '(remainder * 2) >= prate'

Fixes: f4973130d255 ("clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL")
Reported-by: Jon Hunter <jonathanh@xxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Closes: https://lore.kernel.org/r/202408110724.8pqbpDiD-lkp@xxxxxxxxx/
Signed-off-by: Satya Priya Kakitapalli <quic_skakitap@xxxxxxxxxxx>
---
  drivers/clk/qcom/clk-alpha-pll.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c
index 019713c38f25..f9105443d7db 100644
--- a/drivers/clk/qcom/clk-alpha-pll.c
+++ b/drivers/clk/qcom/clk-alpha-pll.c
@@ -2176,10 +2176,8 @@ static void zonda_pll_adjust_l_val(unsigned long rate, unsigned long prate, u32
      quotient = rate;
      remainder = do_div(quotient, prate);
-    *l = quotient;
-    if ((remainder * 2) / prate)
-        *l = *l + 1;
+    *l = rate + (u32)(remainder * 2 >= prate);
  }
  static int clk_zonda_pll_set_rate(struct clk_hw *hw, unsigned long rate,


Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx>


Looks like this has now landed in the mainline. Can we see if we can get this into v6.11?

Thanks!
Jon

--
nvpublic