Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d26c15d authored by Chao Xie's avatar Chao Xie Committed by Mike Turquette
Browse files

clk: mmp: try to use closer one when do round rate



The orignal code will use the bigger rate between
"previous rate" and "current rate" when caculate the
rate.
In fact, hardware cares about the closest one.
So choose the closer rate between "previous rate" and
"current rate".

Signed-off-by: default avatarChao Xie <chao.xie@marvell.com>
Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
parent c45693a6
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -45,11 +45,15 @@ static long clk_factor_round_rate(struct clk_hw *hw, unsigned long drate,
		if (rate > drate)
			break;
	}
	if ((i == 0) || (i == factor->ftbl_cnt))
	if ((i == 0) || (i == factor->ftbl_cnt)) {
		return rate;
	} else {
		if ((drate - prev_rate) > (rate - drate))
			return rate;
		else
			return prev_rate;
	}
}

static unsigned long clk_factor_recalc_rate(struct clk_hw *hw,
		unsigned long parent_rate)