linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] clk: tegra: divider: Add missing check for enable-bit on rate's recalculation
@ 2019-07-23  2:52 Dmitry Osipenko
  2019-07-23  2:52 ` [PATCH v2 2/2] clk: tegra: divider: Support enable-bit for Super clocks Dmitry Osipenko
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Dmitry Osipenko @ 2019-07-23  2:52 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. Please note that there are no known bugs
caused by the missing check.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---

Changelog:

v2: Changed the commit's description from 'Fix' to 'Add' in response to the
    Stephen's Boyd question about the need to backport the patch into stable
    kernels. The backporting is not really needed.

 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] 8+ messages in thread

end of thread, other threads:[~2019-10-29 13:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-23  2:52 [PATCH v2 1/2] clk: tegra: divider: Add missing check for enable-bit on rate's recalculation Dmitry Osipenko
2019-07-23  2:52 ` [PATCH v2 2/2] clk: tegra: divider: Support enable-bit for Super clocks Dmitry Osipenko
2019-10-28 14:41   ` Peter De Schrijver
2019-10-29 13:20     ` Dmitry Osipenko
2019-09-22 21:47 ` [PATCH v2 1/2] clk: tegra: divider: Add missing check for enable-bit on rate's recalculation Dmitry Osipenko
2019-10-28 14:27 ` Peter De Schrijver
2019-10-29  0:14   ` Dmitry Osipenko
2019-10-29 12:50     ` 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).