From: chenxing <chenxing@rock-chips.com>
Date: Fri, 21 Jun 2013 09:09:51 +0000 (+0800)
Subject: rk3188: support set_rate_even div = 1
X-Git-Tag: firefly_0821_release~6965^2~36
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a57789e04286dfe7b4ac15cbc8c3401a448c6876;p=firefly-linux-kernel-4.4.55.git

rk3188: support set_rate_even div = 1
---

diff --git a/arch/arm/mach-rk3188/clock_data.c b/arch/arm/mach-rk3188/clock_data.c
index 757098415340..ac126ad98aa4 100755
--- a/arch/arm/mach-rk3188/clock_data.c
+++ b/arch/arm/mach-rk3188/clock_data.c
@@ -304,9 +304,11 @@ static int clksel_set_rate_shift_2(struct clk *clk, unsigned long rate)
 //for div 1 2 4 2*n
 static int clksel_set_rate_even(struct clk *clk, unsigned long rate)
 {
-	u32 div;
-	for (div = 2; div < clk->div_max; div += 2) {
-		u32 new_rate = clk->parent->rate / div;
+	u32 div = 0, new_rate = 0;
+	for (div = 1; div < clk->div_max; div++) {
+		if (div >= 3 && div % 2 != 0)
+			continue;
+		new_rate = clk->parent->rate / div;
 		if (new_rate <= rate) {
 			set_cru_bits_w_msk(div - 1, clk->div_mask, clk->div_shift, clk->clksel_con);
 			clk->rate = new_rate;