RFC on writel and writel_relaxed

Will Deacon will.deacon at arm.com
Wed Mar 28 21:13:45 AEDT 2018

On Wed, Mar 28, 2018 at 09:01:27PM +1100, Benjamin Herrenschmidt wrote:
> On Wed, 2018-03-28 at 11:55 +0200, Arnd Bergmann wrote:
> > > powerpc and ARM can't quite make them synchronous I think, but at least
> > > they should have the same semantics as writel.
> > 
> > One thing that ARM does IIRC is that it only guarantees to order writel() within
> > one device, and the memory mapped PCI I/O space window almost certainly
> > counts as a separate device to the CPU.
> That sounds bogus.

To elaborate, if you do the following on arm:


we generally cannot guarantee in which order those accesses will hit the
devices even if we add every barrier under the sun. You'd need something
in between, specific to DEVICE_FOO (probably a read-back) to really push
the first write out. This doesn't sound like it would be that uncommon to

On the other hand:


is obviously ordered and also things like:


are ordered up to the PCI host bridge, because that's really the "device"


More information about the Linuxppc-dev mailing list