RFC on writel and writel_relaxed
Jose.Abreu at synopsys.com
Wed Mar 28 02:01:08 AEDT 2018
On 27-03-2018 15:46, Sinan Kaya wrote:
> "We are being told that if you use writel(), then you don't need a wmb() on
> all architectures."
> "I'm not sure who told you that but that is incorrect, at least for
> x86. If you attempt to use writel() without the wmb() we will have to
> NAK the patches. We will accept the wmb() with writel_releaxed() since
> that solves things for ARM."
So this means we should always use writel() + wmb() in *all*
accesses? I don't know about x86 but arc architecture doesn't
have a wmb() in the writel() function (in some configs).
I see the point in net drivers while you have dma + io accesses
but for most drivers this shouldn't be needed, right?
What about ordering of writes? Is it guaranteed that one write
will happen before the next one ?
Jose Miguel Abreu
More information about the Linuxppc-dev