Commit 1116d5a7 authored by Jon Hunter's avatar Jon Hunter Committed by Thierry Reding

clk: tegra: Don't reset PLL-CX if it is already enabled

Commit 8dce89a1 ("clk: tegra: Don't warn for PLL defaults
unnecessarily") changed the tegra210_pllcx_set_defaults() function
causing the PLL to always be reset regardless of whether it is in-use.
This function was changed so that resetting of the PLL will only be
skipped if the PLL is enabled AND 'pllcx->params->defaults_set' is not
true. However, the 'pllcx->params->defaults_set' is always true and
hence, the PLL is now always reset. This causes the boot to fail on the
Tegra210 Smaug where the PLL is already enabled and in-use. Fix this by
only resetting the PLL if not in-use and only printing the warning that
the defaults are not set after we have checked the default settings.

Fixes: 8dce89a1 ("clk: tegra: Don't warn for PLL defaults unnecessarily")
Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
Acked-By: default avatarPeter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 88da44c5
...@@ -555,10 +555,10 @@ static void tegra210_pllcx_set_defaults(const char *name, ...@@ -555,10 +555,10 @@ static void tegra210_pllcx_set_defaults(const char *name,
{ {
pllcx->params->defaults_set = true; pllcx->params->defaults_set = true;
if (readl_relaxed(clk_base + pllcx->params->base_reg) & if (readl_relaxed(clk_base + pllcx->params->base_reg) & PLL_ENABLE) {
PLL_ENABLE && !pllcx->params->defaults_set) {
/* PLL is ON: only check if defaults already set */ /* PLL is ON: only check if defaults already set */
pllcx_check_defaults(pllcx->params); pllcx_check_defaults(pllcx->params);
if (!pllcx->params->defaults_set)
pr_warn("%s already enabled. Postponing set full defaults\n", pr_warn("%s already enabled. Postponing set full defaults\n",
name); name);
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment