summaryrefslogtreecommitdiff
path: root/drivers/clk/rockchip/clk.c
diff options
context:
space:
mode:
authorElaine Zhang <zhangqing@rock-chips.com>2018-05-28 11:45:52 +0800
committerTao Huang <huangtao@rock-chips.com>2018-05-29 19:52:49 +0800
commitc64eb759a8e21c7a7c6980ee8f50e9f644c956fe (patch)
treefb0df82e7a407cba04bb09b561657dc93a798041 /drivers/clk/rockchip/clk.c
parent96f06a1be2105d40e08237f8e40e28ae5e709ac8 (diff)
clk: rockchip: fix up the freq overshoot
When integer divider switch to frac divider, High frequency burrs that may appeared, It's deadly to the system Change-Id: I483449f9a0b980671f90d4c534fad033998deaf7 Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Diffstat (limited to 'drivers/clk/rockchip/clk.c')
-rw-r--r--drivers/clk/rockchip/clk.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/clk/rockchip/clk.c b/drivers/clk/rockchip/clk.c
index 981264fb8200..c9052c4f8606 100644
--- a/drivers/clk/rockchip/clk.c
+++ b/drivers/clk/rockchip/clk.c
@@ -122,7 +122,6 @@ struct rockchip_clk_frac {
const struct clk_ops *mux_ops;
int mux_frac_idx;
- bool rate_change_remuxed;
int rate_change_idx;
};
@@ -143,18 +142,6 @@ static int rockchip_clk_frac_notifier_cb(struct notifier_block *nb,
frac->rate_change_idx = frac->mux_ops->get_parent(&frac_mux->hw);
if (frac->rate_change_idx != frac->mux_frac_idx) {
frac->mux_ops->set_parent(&frac_mux->hw, frac->mux_frac_idx);
- frac->rate_change_remuxed = 1;
- }
- } else if (event == POST_RATE_CHANGE) {
- /*
- * The POST_RATE_CHANGE notifier runs directly after the
- * divider clock is set in clk_change_rate, so we'll have
- * remuxed back to the original parent before clk_change_rate
- * reaches the mux itself.
- */
- if (frac->rate_change_remuxed) {
- frac->mux_ops->set_parent(&frac_mux->hw, frac->rate_change_idx);
- frac->rate_change_remuxed = 0;
}
}