]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: renesas: r9a09g077: Propagate rate changes to parent clocks
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tue, 28 Oct 2025 16:51:23 +0000 (16:51 +0000)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 12 Nov 2025 10:09:09 +0000 (11:09 +0100)
Add the CLK_SET_RATE_PARENT flag to divider clock registration so that rate
changes can propagate to parent clocks when needed. This allows the CPG
divider clocks to request rate adjustments from their parent, ensuring
correct frequency scaling and improved flexibility in clock rate selection.

Fixes: 065fe720eec6e ("clk: renesas: Add support for R9A09G077 SoC")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20251028165127.991351-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/clk/renesas/r9a09g077-cpg.c

index 8b7e84a4c307f7a20f0e088541bed329b853f02c..1cb33c12234e4656c9f7ade49b6c638939789f30 100644 (file)
@@ -221,7 +221,7 @@ r9a09g077_cpg_div_clk_register(struct device *dev,
 
        if (core->dtable)
                clk_hw = clk_hw_register_divider_table(dev, core->name,
-                                                      parent_name, 0,
+                                                      parent_name, CLK_SET_RATE_PARENT,
                                                       addr,
                                                       GET_SHIFT(core->conf),
                                                       GET_WIDTH(core->conf),
@@ -230,7 +230,7 @@ r9a09g077_cpg_div_clk_register(struct device *dev,
                                                       &pub->rmw_lock);
        else
                clk_hw = clk_hw_register_divider(dev, core->name,
-                                                parent_name, 0,
+                                                parent_name, CLK_SET_RATE_PARENT,
                                                 addr,
                                                 GET_SHIFT(core->conf),
                                                 GET_WIDTH(core->conf),