clk: sunxi-ng: nkm: Prefer current parent rate
authorFrank Oltmanns <frank@oltmanns.dev>
Mon, 7 Aug 2023 12:43:44 +0000 (14:43 +0200)
committerChen-Yu Tsai <wens@csie.org>
Wed, 9 Aug 2023 15:41:44 +0000 (23:41 +0800)
Similar to ccu_mp, if the current parent rate allows getting the ideal
rate, prefer to not change the parent clock's rate.

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
Link: https://lore.kernel.org/r/20230807-pll-mipi_set_rate_parent-v6-11-f173239a4b59@oltmanns.dev
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/clk/sunxi-ng/ccu_nkm.c

index a714dcf..eed6454 100644 (file)
@@ -34,7 +34,8 @@ static unsigned long ccu_nkm_find_best_with_parent_adj(struct ccu_common *common
 
                                tmp_rate = tmp_parent * _n * _k / _m;
 
-                               if (ccu_is_better_rate(common, rate, tmp_rate, best_rate)) {
+                               if (ccu_is_better_rate(common, rate, tmp_rate, best_rate) ||
+                                   (tmp_parent == *parent && tmp_rate == best_rate)) {
                                        best_rate = tmp_rate;
                                        best_parent_rate = tmp_parent;
                                        best_n = _n;