clk: sunxi-ng: h6: Allow video & vpu clocks to change parent rate
authorJernej Skrabec <jernej.skrabec@siol.net>
Wed, 3 Apr 2019 15:14:03 +0000 (17:14 +0200)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Thu, 4 Apr 2019 07:31:39 +0000 (09:31 +0200)
Video related clocks need to set rate as close as possible to the
requested one, so they should be able to change parent clock rate.

When processing 4K video, VPU clock has to be set to higher rate than it
is default parent rate. Because of that, VPU clock should be able to
change parent clock rate.

Add CLK_SET_RATE_PARENT flag to tcon-lcd0, tcon-tv0 and ve.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
drivers/clk/sunxi-ng/ccu-sun50i-h6.c

index 33980067b06ee1e8a4aa0a24c3e1e213e17a8f9a..3c32d7798f27b2ff05c912ede945201074adfc64 100644 (file)
@@ -311,7 +311,7 @@ static SUNXI_CCU_M_WITH_MUX_GATE(ve_clk, "ve", ve_parents, 0x690,
                                       0, 3,    /* M */
                                       24, 1,   /* mux */
                                       BIT(31), /* gate */
-                                      0);
+                                      CLK_SET_RATE_PARENT);
 
 static SUNXI_CCU_GATE(bus_ve_clk, "bus-ve", "psi-ahb1-ahb2",
                      0x69c, BIT(0), 0);
@@ -691,7 +691,7 @@ static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd0_clk, "tcon-lcd0",
                               tcon_lcd0_parents, 0xb60,
                               24, 3,   /* mux */
                               BIT(31), /* gate */
-                              0);
+                              CLK_SET_RATE_PARENT);
 
 static SUNXI_CCU_GATE(bus_tcon_lcd0_clk, "bus-tcon-lcd0", "ahb3",
                      0xb7c, BIT(0), 0);
@@ -706,7 +706,7 @@ static SUNXI_CCU_MP_WITH_MUX_GATE(tcon_tv0_clk, "tcon-tv0",
                                  8, 2,         /* P */
                                  24, 3,        /* mux */
                                  BIT(31),      /* gate */
-                                 0);
+                                 CLK_SET_RATE_PARENT);
 
 static SUNXI_CCU_GATE(bus_tcon_tv0_clk, "bus-tcon-tv0", "ahb3",
                      0xb9c, BIT(0), 0);