Thread (30 messages) 30 messages, 5 authors, 2018-04-06

RE: [PATCH v3 07/10] clk: qcom: clk-cpu-8996: Prepare PLLs on probe

From: Stephen Boyd <sboyd@kernel.org>
Date: 2018-03-20 20:03:30
Also in: linux-arm-kernel, linux-arm-msm, linux-clk

Quoting ilialin@codeaurora.org (2018-03-20 06:53:08)
quoted
-----Original Message-----
From: Stephen Boyd <sboyd@kernel.org>
Sent: Monday, March 19, 2018 18:50
To: Ilia Lin <redacted>; linux-arm-kernel@lists.infradead.org;
linux-arm-msm@vger.kernel.org; linux-clk@vger.kernel.org;
sboyd@codeaurora.org
Cc: mark.rutland@arm.com; devicetree@vger.kernel.org;
rnayak@codeaurora.org; robh@kernel.org; will.deacon@arm.com;
amit.kucheria@linaro.org; tfinkel@codeaurora.org; ilialin@codeaurora.org;
nicolas.dechesne@linaro.org; celster@codeaurora.org
Subject: Re: [PATCH v3 07/10] clk: qcom: clk-cpu-8996: Prepare PLLs on probe

Quoting Ilia Lin (2018-02-14 05:59:49)
quoted
The PLLs must be prepared enabled during the probe to be accessible by
the OPPs. Otherwise an OPP may switch to non-enabled clock.
Sounds like an OPP problem.
And again, it could be solved by a platform specific cpufreq driver. Worth it?
quoted
quoted
 #include "clk-alpha-pll.h"

 #define VCO(a, b, c) { \
@@ -376,6 +376,18 @@ struct clk_hw_clks {
        clk_alpha_pll_configure(&perfcl_alt_pll, regmap, &altpll_config);
        clk_alpha_pll_configure(&pwrcl_alt_pll, regmap,
&altpll_config);

+       /* Enable all PLLs and alt PLLs */
+       clk_prepare_enable(pwrcl_alt_pll.clkr.hw.clk);
+       clk_prepare_enable(perfcl_alt_pll.clkr.hw.clk);
+       clk_prepare_enable(pwrcl_pll.clkr.hw.clk);
+       clk_prepare_enable(perfcl_pll.clkr.hw.clk);
And this can't be done by the cpufreq-dt driver?
Are you suggesting changing the cpufreq-dt as well?
Yes?
quoted
quoted
+
+       /* Set initial boot frequencies for power/perf PLLs */
+       clk_set_rate(pwrcl_alt_pll.clkr.hw.clk, 652800000);
+       clk_set_rate(perfcl_alt_pll.clkr.hw.clk, 652800000);
+       clk_set_rate(pwrcl_pll.clkr.hw.clk, 652800000);
+       clk_set_rate(perfcl_pll.clkr.hw.clk, 652800000);
We have assigned rates in DT for this.
I assumed that the clock driver can live without the OPP table and any cpufreq driver. Or do you mean adding this as parameters for the kryocc DT node?
Yes I mean adding assigned rates to the kroycc DT node to setup PLLs to
rates you want.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help