On Wed, May 15, 2013 at 10:31 PM, Heiko Stübner <heiko@xxxxxxxxx> wrote: > If I understand the writel semantics and the thread from you from 2011 [0] > correctly, only the writel to DMASKTRIG mustn't be relaxed to make sure the > settings registers are written to before, so like: > > writel_relaxed(txd->src_addr, phy->base + DISRC); > writel_relaxed(txd->disrcc, phy->base + DISRCC); > writel_relaxed(txd->dst_addr, phy->base + DIDST); > writel_relaxed(txd->didstc, phy->base + DIDSTC); > writel_relaxed(dcon, phy->base + DCON); > > val = readl_relaxed(phy->base + DMASKTRIG); > val &= ~DMASKTRIG_STOP; > val |= DMASKTRIG_ON; > writel(val, phy->base + DMASKTRIG); Yep. That will drain write buffers etc and make sure all outstanding writes hit the hardware. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html