[PATCH] clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
Quentin Schulz
quentin.schulz at theobroma-systems.com
Mon Jan 2 07:29:21 PST 2023
Hi all,
Gently pinging as it hasn't received any review and I couldn't find the
patch in a branch in the linux-clk tree.
Cheers,
Quentin
On 11/17/22 13:04, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>
> clk_cifout is derived from clk_cifout_src through an integer divider
> limited to 32. clk_cifout_src is a child of either cpll, gpll or npll
> without any possibility of a divider of any sort. The default clock
> parent is cpll.
>
> Let's allow clk_cifout to ask its parent clk_cifout_src to reparent in
> order to find the real closest possible rate for clk_cifout and not one
> derived from cpll only.
>
> Cc: stable at vger.kernel.org # 4.10+
> Fixes: fd8bc829336a ("clk: rockchip: fix the rk3399 cifout clock")
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
> clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
>
> This used to be correct before v4.10 but commit fd8bc829336a ("clk: rockchip:
> fix the rk3399 cifout clock") incorrectly removed this ability while reworking
> it.
>
> Note: this has been tested on top of v6.0.2 only but no changes were made to
> this driver since. As for older stable releases, the git context seems identical
> and there does not seem to have been any logical change introduced since v4.10
> so it should be pretty safe to apply.
>
> To: Michael Turquette <mturquette at baylibre.com>
> To: Stephen Boyd <sboyd at kernel.org>
> To: Heiko Stuebner <heiko at sntech.de>
> To: Xing Zheng <zhengxing at rock-chips.com>
> Cc: linux-clk at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-rockchip at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> ---
> drivers/clk/rockchip/clk-rk3399.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/rockchip/clk-rk3399.c b/drivers/clk/rockchip/clk-rk3399.c
> index 306910a3a0d38..9ebd6c451b3db 100644
> --- a/drivers/clk/rockchip/clk-rk3399.c
> +++ b/drivers/clk/rockchip/clk-rk3399.c
> @@ -1263,7 +1263,7 @@ static struct rockchip_clk_branch rk3399_clk_branches[] __initdata = {
> RK3399_CLKSEL_CON(56), 6, 2, MFLAGS,
> RK3399_CLKGATE_CON(10), 7, GFLAGS),
>
> - COMPOSITE_NOGATE(SCLK_CIF_OUT, "clk_cifout", mux_clk_cif_p, 0,
> + COMPOSITE_NOGATE(SCLK_CIF_OUT, "clk_cifout", mux_clk_cif_p, CLK_SET_RATE_PARENT,
> RK3399_CLKSEL_CON(56), 5, 1, MFLAGS, 0, 5, DFLAGS),
>
> /* gic */
>
> ---
> base-commit: cc675d22e422442f6d230654a55a5fc5682ea018
> change-id: 20221117-rk3399-cifout-set-rate-parent-1fbf0173ef2d
>
> Best regards,
More information about the Linux-rockchip
mailing list