Browse Source

clk: sunxi-ng: multiplier: Fix fractional mode

Driver for multiplier clock is missing a call to
ccu_frac_helper_enable() when fractional mode is selected.

Add a call to ccu_frac_helper_enable().

Fixes: d77e8135b340 ("clk: sunxi-ng: multiplier: Add fractional support")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Jernej Škrabec 8 years ago
parent
commit
1e92ae651e
1 changed files with 5 additions and 2 deletions
  1. 5 2
      drivers/clk/sunxi-ng/ccu_mult.c

+ 5 - 2
drivers/clk/sunxi-ng/ccu_mult.c

@@ -111,10 +111,13 @@ static int ccu_mult_set_rate(struct clk_hw *hw, unsigned long rate,
 	unsigned long flags;
 	unsigned long flags;
 	u32 reg;
 	u32 reg;
 
 
-	if (ccu_frac_helper_has_rate(&cm->common, &cm->frac, rate))
+	if (ccu_frac_helper_has_rate(&cm->common, &cm->frac, rate)) {
+		ccu_frac_helper_enable(&cm->common, &cm->frac);
+
 		return ccu_frac_helper_set_rate(&cm->common, &cm->frac, rate);
 		return ccu_frac_helper_set_rate(&cm->common, &cm->frac, rate);
-	else
+	} else {
 		ccu_frac_helper_disable(&cm->common, &cm->frac);
 		ccu_frac_helper_disable(&cm->common, &cm->frac);
+	}
 
 
 	parent_rate = ccu_mux_helper_apply_prediv(&cm->common, &cm->mux, -1,
 	parent_rate = ccu_mux_helper_apply_prediv(&cm->common, &cm->mux, -1,
 						  parent_rate);
 						  parent_rate);