projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3b31766
)
clk: qcom: clk-krait: fix wrong div2 functions
author
Christian Marangi
<ansuelsmth@gmail.com>
Tue, 8 Nov 2022 21:56:25 +0000
(22:56 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:21 +0000
(13:32 +0100)
[ Upstream commit
d676d3a3717cf726d3affedbe5ba98fc4ccad7b3
]
Currently div2 value is applied to the wrong bits. This is caused by a
bug in the code where the shift is done only for lpl, for anything
else the mask is not shifted to the correct bits.
Fix this by correctly shift if lpl is not supported.
Fixes:
4d7dc77babfe
("clk: qcom: Add support for Krait clocks")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link:
https://lore.kernel.org/r/20221108215625.30186-1-ansuelsmth@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/qcom/clk-krait.c
patch
|
blob
|
history
diff --git
a/drivers/clk/qcom/clk-krait.c
b/drivers/clk/qcom/clk-krait.c
index
45da736
..
293a9df
100644
(file)
--- a/
drivers/clk/qcom/clk-krait.c
+++ b/
drivers/clk/qcom/clk-krait.c
@@
-114,6
+114,8
@@
static int krait_div2_set_rate(struct clk_hw *hw, unsigned long rate,
if (d->lpl)
mask = mask << (d->shift + LPL_SHIFT) | mask << d->shift;
+ else
+ mask <<= d->shift;
spin_lock_irqsave(&krait_clock_reg_lock, flags);
val = krait_get_l2_indirect_reg(d->offset);