OSDN Git Service

clk: renesas: rzg2l: Support sd clk mux round operation
authorBiju Das <biju.das.jz@bp.renesas.com>
Mon, 19 Sep 2022 08:41:10 +0000 (09:41 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 17 Oct 2022 08:03:59 +0000 (10:03 +0200)
Currently, determine_rate() is not doing any round operation
and due to this it always selects a lower clock source compared
to the closest higher one.

Support sd clk mux round operation by passing
CLK_MUX_ROUND_CLOSEST flag to clk_mux_determine_rate_flags().

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20220919084110.3065156-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/clk/renesas/rzg2l-cpg.c

index 3ff6ecd..5dfe362 100644 (file)
@@ -182,7 +182,7 @@ rzg2l_cpg_mux_clk_register(const struct cpg_core_clk *core,
 static int rzg2l_cpg_sd_clk_mux_determine_rate(struct clk_hw *hw,
                                               struct clk_rate_request *req)
 {
-       return clk_mux_determine_rate_flags(hw, req, 0);
+       return clk_mux_determine_rate_flags(hw, req, CLK_MUX_ROUND_CLOSEST);
 }
 
 static int rzg2l_cpg_sd_clk_mux_set_parent(struct clk_hw *hw, u8 index)