The calculation in rockchip_rk3588_pll_k_get() uses an intermediate variable misleadingly named fout, which is not the output frequency.
Drop it and inline its calculation into the k assignment, which also improves clarity. While at that, also drop the redundant reassignment of fref which doesn't change within this function. Signed-off-by: Alexey Charkov <[email protected]> --- drivers/clk/rockchip/clk_pll.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/clk/rockchip/clk_pll.c b/drivers/clk/rockchip/clk_pll.c index 9dec40b1fe83..d0df3b8fb49d 100644 --- a/drivers/clk/rockchip/clk_pll.c +++ b/drivers/clk/rockchip/clk_pll.c @@ -169,18 +169,15 @@ rockchip_pll_clk_set_by_auto(ulong fin_hz, static u32 rockchip_rk3588_pll_k_get(u32 m, u32 p, u32 s, u64 fin_hz, u64 fvco) { - u64 fref, fout, ffrac; + u64 fref, ffrac; u32 k = 0; fref = fin_hz / p; ffrac = fvco - (m * fref); - fout = ffrac * 65536; - k = fout / fref; + k = ffrac * 65536 / fref; if (k > 32767) { - fref = fin_hz / p; ffrac = ((m + 1) * fref) - fvco; - fout = ffrac * 65536; - k = ((fout * 10 / fref) + 7) / 10; + k = ((ffrac * 65536 * 10 / fref) + 7) / 10; if (k > 32767) k = 0; else -- 2.53.0

