The correct terminology here would be to use observability. Yes, it can beThe sequence point after the argument evaluation for writel prevents the compiler from reordering
cached in whatever part of the system for some amount of time as long as
PCI device sees it in the correct order.
Let's do this exercise.
1. OS writes to memory for some descriptor update
2. OS writes to the device via writel to hit a doorbell
3. Device comes and fetches the memory contents for the descriptor
writel() of PA-RISC needs to ensure that 3. cannot bypass 1. This is typically
done by a write barrier embedded into the writel() on relaxed architectures.