]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: renesas: r9a09g077: Propagate rate changes through mux parents
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Fri, 21 Nov 2025 09:08:53 +0000 (09:08 +0000)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 15 Dec 2025 10:49:10 +0000 (11:49 +0100)
Enable CLK_SET_RATE_PARENT for mux clocks so that rate changes can properly
propagate to their parent clocks. Several clocks in the R9A09G077 CPG tree
depend on upstream PLL or divider outputs being recalculated when a child
requests a new frequency. Without this flag, rate adjustments stop at the
mux layer, leaving parent rates unchanged and preventing the clock tree
from converging on the intended values.

Set the flag in DEF_MUX to ensure that parent clocks participate in rate
negotiation, which is required for correct operation of the display and
peripheral related clocks being added for RZ/T2H support.

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/20251121090853.5220-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/clk/renesas/r9a09g077-cpg.c

index 07d6cc57b3d98e5c1249374e42e7f8cf8d399be0..dee25cdadf1d44430466a72939ec8b504d49527c 100644 (file)
@@ -78,7 +78,7 @@ enum rzt2h_clk_types {
 #define DEF_MUX(_name, _id, _conf, _parent_names, _num_parents, _mux_flags) \
        DEF_TYPE(_name, _id, CLK_TYPE_RZT2H_MUX, .conf = _conf, \
                 .parent_names = _parent_names, .num_parents = _num_parents, \
-                .flag = 0, .mux_flags = _mux_flags)
+                .flag = CLK_SET_RATE_PARENT, .mux_flags = _mux_flags)
 #define DEF_DIV_FSELXSPI(_name, _id, _parent, _conf, _dtable) \
        DEF_TYPE(_name, _id, CLK_TYPE_RZT2H_FSELXSPI, .conf = _conf, \
                 .parent = _parent, .dtable = _dtable, .flag = 0)