From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Jon Hunter To: Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Stephen Warren , Thierry Reding , Alexandre Courbot CC: linux-clk@vger.kernel.org , linux-tegra@vger.kernel.org , linux-kernel@vger.kernel.org , Rhyland Klein , Jon Hunter Subject: [PATCH] clk: tegra: Fix bypassing of PLLs Date: Fri, 20 Nov 2015 15:11:04 +0000 Message-ID: <1448032264-29622-1-git-send-email-jonathanh@nvidia.com> MIME-Version: 1.0 Return-Path: jonathanh@nvidia.com Content-Type: text/plain List-ID: The _clk_disable_pll() function will attempt to place a PLL into bypass if the TEGRA_PLL_BYPASS is specified for the PLL and then disable the PLL by clearing the enable bit. To place the PLL into bypass, the bypass bit needs to be set and not cleared. Fix this by setting the bypass bit and not clearing it. Signed-off-by: Jon Hunter --- drivers/clk/tegra/clk-pll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index d6d4ecb88e94..e5aa9c87df4c 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -312,7 +312,7 @@ static void _clk_pll_disable(struct clk_hw *hw) val = pll_readl_base(pll); if (pll->params->flags & TEGRA_PLL_BYPASS) - val &= ~PLL_BASE_BYPASS; + val |= PLL_BASE_BYPASS; val &= ~PLL_BASE_ENABLE; pll_writel_base(val, pll); -- 2.1.4