Re: [PATCH 11/16] clk: qcom: krait-cc: force sec_mux to QSB

Stephen Boyd
2022-03-15T22:47:07Z

Quoting Ansuel Smith (2022-03-13 12:04:14)
> Now that we have converted every driver to parent_data, it was
> notice that the bootloader can't really leave the system in a
> strange state where l2 or the cpu0/1 can be sourced in a number of ways
> for example cpu1 sourcing out of qsb, l2 sourcing out of pxo.
> To correctly reset the mux and the HFPLL force the sec_mux to QSB.
>
> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> ---
> drivers/clk/qcom/krait-cc.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c
> index 6530f10a546f..1bdc89c097e6 100644
> --- a/drivers/clk/qcom/krait-cc.c
> +++ b/drivers/clk/qcom/krait-cc.c
> @@ -15,6 +15,8 @@
>
> #include "clk-krait.h"
>
> +#define QSB_RATE 1
> +
> static unsigned int sec_mux_map[] = {
> 2,
> 0,
> @@ -178,6 +180,12 @@ krait_add_sec_mux(struct device *dev, struct clk *qsb, int id,
> if (ret)
> clk = ERR_PTR(ret);
>
> + /* Force the sec_mux to be set to QSB rate.

The comment start should be on a line alone

/*
* Force the ...

> + * This is needed to correctly set the parents and
> + * to later reset mux and HFPLL to a known freq.
> + */
> + clk_set_rate(clk, QSB_RATE);
> +
> err_clk:
> if (unique_aux)
> kfree(parent_name);