On Mon, Feb 11, 2019 at 6:45 PM Will Deacon <will.deacon@xxxxxxx> wrote: > > The inX() I/O accessors must enforce ordering against subsequent calls > to the delay() routines, so that a read-back from a device can be used > to postpone a subsequent write to the same device. > > On some architectures, including arm64, this ordering can only be > achieved by creating a dependency on the value returned by the inX() > operation, so we need to pass the value we read to the __io_par() > macro in this case. > > Reported-by: Andrew Murray <andrew.murray@xxxxxxx> > Signed-off-by: Will Deacon <will.deacon@xxxxxxx> > --- > include/asm-generic/io.h | 8 ++++---- For changing the asm-generic file in the arm64 tree, Acked-by: Arnd Bergmann <arnd@xxxxxxxx> For all I can see, this should not conflict with the usage of the same macros on RISC-V, though it does make add a significant difference, so I'd like to see an Ack from the RISC-V folks as well (added to Cc), or possibly a change to arch/riscv/include/asm/io.h to do a corresponding change. Arnd