Messages in this thread | | | Date | Fri, 17 May 2013 14:20:49 +0200 | Subject | Re: [RFC 2/4] dma: add dmaengine driver for Samsung s3c24xx SoCs | From | Linus Walleij <> |
| |
On Wed, May 15, 2013 at 10:31 PM, Heiko Stübner <heiko@sntech.de> 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |