projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1aab318
)
clk: qcom: clk-alpha-pll: Skip reconfiguring the running Lucid Evo
author
Abel Vesa
<abel.vesa@linaro.org>
Thu, 18 Apr 2024 13:41:32 +0000
(16:41 +0300)
committer
Bjorn Andersson
<andersson@kernel.org>
Sat, 20 Apr 2024 16:50:26 +0000
(11:50 -0500)
The PLL0 is configured by the bootloader and is the parent of the
mdp_clk_src. The Trion implementation of the configure function is
already skipping this step if the PLL is enabled, so lets extend the
same behavior to Lucid Evo variant.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link:
https://lore.kernel.org/r/20240418-clk-qcom-lucid-evo-skip-configuring-enabled-v1-1-caede5f1c7a3@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/clk-alpha-pll.c
patch
|
blob
|
history
diff --git
a/drivers/clk/qcom/clk-alpha-pll.c
b/drivers/clk/qcom/clk-alpha-pll.c
index 8a412ef47e1631705326c7380042c8c3c4c93526..4c5aeccff0ef53bca06313f67fc24ea4a67262fa 100644
(file)
--- a/
drivers/clk/qcom/clk-alpha-pll.c
+++ b/
drivers/clk/qcom/clk-alpha-pll.c
@@
-2114,6
+2114,15
@@
void clk_lucid_evo_pll_configure(struct clk_alpha_pll *pll, struct regmap *regma
{
u32 lval = config->l;
+ /*
+ * If the bootloader left the PLL enabled it's likely that there are
+ * RCGs that will lock up if we disable the PLL below.
+ */
+ if (trion_pll_is_enabled(pll, regmap)) {
+ pr_debug("Lucid Evo PLL is already enabled, skipping configuration\n");
+ return;
+ }
+
lval |= TRION_PLL_CAL_VAL << LUCID_EVO_PLL_CAL_L_VAL_SHIFT;
clk_alpha_pll_write_config(regmap, PLL_L_VAL(pll), lval);
clk_alpha_pll_write_config(regmap, PLL_ALPHA_VAL(pll), config->alpha);