]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/clock.c
[ARM] OMAP2/3 clock: convert remaining MPU barriers into OCP barriers
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / clock.c
index 7f12230fef73c6aae0d514bb04c5215d0b47ceb6..666274a8b10d7703435cdac795075046866dd9ca 100644 (file)
@@ -334,7 +334,7 @@ static int omap2_dflt_clk_enable(struct clk *clk)
        else
                v |= (1 << clk->enable_bit);
        __raw_writel(v, clk->enable_reg);
-       wmb();
+       v = __raw_readl(clk->enable_reg); /* OCP barrier */
 
        return 0;
 }
@@ -703,7 +703,7 @@ int omap2_clksel_set_rate(struct clk *clk, unsigned long rate)
        v &= ~clk->clksel_mask;
        v |= field_val << __ffs(clk->clksel_mask);
        __raw_writel(v, clk->clksel_reg);
-       wmb();
+       v = __raw_readl(clk->clksel_reg); /* OCP barrier */
 
        clk->rate = clk->parent->rate / new_div;
 
@@ -788,7 +788,7 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
        v &= ~clk->clksel_mask;
        v |= field_val << __ffs(clk->clksel_mask);
        __raw_writel(v, clk->clksel_reg);
-       wmb();
+       v = __raw_readl(clk->clksel_reg);    /* OCP barrier */
 
        _omap2xxx_clk_commit(clk);