linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 1/2] clk: tegra: divider: Fix missing check for enable-bit on rate's recalculation
@ 2019-07-15 17:35 Dmitry Osipenko
  2019-07-15 17:35 ` [PATCH v1 2/2] clk: tegra: divider: Support enable-bit for Super clocks Dmitry Osipenko
  2019-07-17 20:08 ` [PATCH v1 1/2] clk: tegra: divider: Fix missing check for enable-bit on rate's recalculation Stephen Boyd
  0 siblings, 2 replies; 6+ messages in thread
From: Dmitry Osipenko @ 2019-07-15 17:35 UTC (permalink / raw)
  To: Michael Turquette, Thierry Reding, Jonathan Hunter,
	Peter De Schrijver, Prashant Gaikwad, Stephen Boyd
  Cc: linux-clk, linux-tegra, linux-kernel

Unset "enable" bit means that divider is in bypass mode, hence it doesn't
have any effect in that case.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/clk/tegra/clk-divider.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/tegra/clk-divider.c b/drivers/clk/tegra/clk-divider.c
index e76731fb7d69..f33c19045386 100644
--- a/drivers/clk/tegra/clk-divider.c
+++ b/drivers/clk/tegra/clk-divider.c
@@ -40,8 +40,13 @@ static unsigned long clk_frac_div_recalc_rate(struct clk_hw *hw,
 	int div, mul;
 	u64 rate = parent_rate;
 
-	reg = readl_relaxed(divider->reg) >> divider->shift;
-	div = reg & div_mask(divider);
+	reg = readl_relaxed(divider->reg);
+
+	if ((divider->flags & TEGRA_DIVIDER_UART) &&
+	    !(reg & PERIPH_CLK_UART_DIV_ENB))
+		return rate;
+
+	div = (reg >> divider->shift) & div_mask(divider);
 
 	mul = get_mul(divider);
 	div += mul;
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-07-23  0:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-15 17:35 [PATCH v1 1/2] clk: tegra: divider: Fix missing check for enable-bit on rate's recalculation Dmitry Osipenko
2019-07-15 17:35 ` [PATCH v1 2/2] clk: tegra: divider: Support enable-bit for Super clocks Dmitry Osipenko
2019-07-17 20:08 ` [PATCH v1 1/2] clk: tegra: divider: Fix missing check for enable-bit on rate's recalculation Stephen Boyd
2019-07-17 21:33   ` Dmitry Osipenko
2019-07-22 21:55     ` Stephen Boyd
2019-07-23  0:13       ` Dmitry Osipenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).