Re: RFC on writel and writel_relaxed
From: Will Deacon <hidden>
Date: 2018-03-28 08:53:32
Also in:
linuxppc-dev
On Wed, Mar 28, 2018 at 08:29:45AM +1100, Benjamin Herrenschmidt wrote:
On Tue, 2018-03-27 at 15:36 +0100, Will Deacon wrote:quoted
quoted
Can we say the same thing for iowrite32() and iowrite32be(). I also see wmb() in front of these.I don't think so. My reading of memory-barriers.txt says that writeX might expand to outX, and outX is not ordered with respect to other types of memory.Ugh ? My understanding of HW at least is the exact opposite. outX is *more* ordered if anything, than any other accessors. IO space is completely synchronous, non posted and ordered afaik.
I'm just going by memory-barriers.txt:
(*) inX(), outX():
[...]
They are guaranteed to be fully ordered with respect to each other.
They are not guaranteed to be fully ordered with respect to other types of
memory and I/O operation.
For arm/arm64 these end up behaving exactly the same as readX/writeX, but
I'm nervous about changing the documentation without understanding why it's
like it is currently. Maybe another ia64 thing?.
Will