mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-24 05:18:14 +00:00
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
|
From 2acc3260050cf17d72ec5fb7a00cd91cf53ef5b6 Mon Sep 17 00:00:00 2001
|
||
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
||
|
Date: Fri, 23 Sep 2022 18:42:29 +0200
|
||
|
Subject: [PATCH 1/4] clk: qcom: clk-krait: fix wrong div2 functions
|
||
|
|
||
|
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>
|
||
|
---
|
||
|
drivers/clk/qcom/clk-krait.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c
|
||
|
index 45da736bd5f4..293a9dfa7151 100644
|
||
|
--- 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);
|
||
|
--
|
||
|
2.37.2
|
||
|
|