@@ -135,16 +135,16 @@ static void wait_until_divider_stable(void __iomem *div_reg, unsigned long mask)
135135 * value was changed.
136136 */
137137static void wait_until_mux_stable (void __iomem * mux_reg , u32 mux_pos ,
138- unsigned long mux_value )
138+ unsigned long mask , unsigned long mux_value )
139139{
140140 unsigned long timeout = jiffies + msecs_to_jiffies (MAX_STAB_TIME );
141141
142142 do {
143- if (((readl (mux_reg ) >> mux_pos ) & MUX_MASK ) == mux_value )
143+ if (((readl (mux_reg ) >> mux_pos ) & mask ) == mux_value )
144144 return ;
145145 } while (time_before (jiffies , timeout ));
146146
147- if (((readl (mux_reg ) >> mux_pos ) & MUX_MASK ) == mux_value )
147+ if (((readl (mux_reg ) >> mux_pos ) & mask ) == mux_value )
148148 return ;
149149
150150 pr_err ("%s: re-parenting mux timed-out\n" , __func__ );
@@ -249,7 +249,7 @@ static int exynos_cpuclk_pre_rate_change(struct clk_notifier_data *ndata,
249249 /* select sclk_mpll as the alternate parent */
250250 mux_reg = readl (base + regs -> mux_sel );
251251 writel (mux_reg | (1 << 16 ), base + regs -> mux_sel );
252- wait_until_mux_stable (base + regs -> mux_stat , 16 , 2 );
252+ wait_until_mux_stable (base + regs -> mux_stat , 16 , MUX_MASK , 2 );
253253
254254 /* alternate parent is active now. set the dividers */
255255 writel (div0 , base + regs -> div_cpu0 );
@@ -290,7 +290,7 @@ static int exynos_cpuclk_post_rate_change(struct clk_notifier_data *ndata,
290290 /* select mout_apll as the alternate parent */
291291 mux_reg = readl (base + regs -> mux_sel );
292292 writel (mux_reg & ~(1 << 16 ), base + regs -> mux_sel );
293- wait_until_mux_stable (base + regs -> mux_stat , 16 , 1 );
293+ wait_until_mux_stable (base + regs -> mux_stat , 16 , MUX_MASK , 1 );
294294
295295 if (cpuclk -> flags & CLK_CPU_NEEDS_DEBUG_ALT_DIV ) {
296296 div |= (cfg_data -> div0 & E4210_DIV0_ATB_MASK );
@@ -362,7 +362,7 @@ static int exynos5433_cpuclk_pre_rate_change(struct clk_notifier_data *ndata,
362362 /* select the alternate parent */
363363 mux_reg = readl (base + regs -> mux_sel );
364364 writel (mux_reg | 1 , base + regs -> mux_sel );
365- wait_until_mux_stable (base + regs -> mux_stat , 0 , 2 );
365+ wait_until_mux_stable (base + regs -> mux_stat , 0 , MUX_MASK , 2 );
366366
367367 /* alternate parent is active now. set the dividers */
368368 writel (div0 , base + regs -> div_cpu0 );
@@ -390,7 +390,7 @@ static int exynos5433_cpuclk_post_rate_change(struct clk_notifier_data *ndata,
390390 /* select apll as the alternate parent */
391391 mux_reg = readl (base + regs -> mux_sel );
392392 writel (mux_reg & ~1 , base + regs -> mux_sel );
393- wait_until_mux_stable (base + regs -> mux_stat , 0 , 1 );
393+ wait_until_mux_stable (base + regs -> mux_stat , 0 , MUX_MASK , 1 );
394394
395395 exynos_set_safe_div (cpuclk , div , div_mask );
396396 spin_unlock_irqrestore (cpuclk -> lock , flags );
0 commit comments