MIPS: io: Prevent compiler reordering writeX()
authorSinan Kaya <okaya@codeaurora.org>
Tue, 3 Apr 2018 12:55:03 +0000 (08:55 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Jun 2018 19:02:40 +0000 (04:02 +0900)
commitd96da2acac5dcf3d8187794b5ef86481ddcf2791
treeffcfe03433687f1d1afc5671300e6457e5f8712c
parentdf5524e5483b6a29c011721131a510fae3ce0f45
MIPS: io: Prevent compiler reordering writeX()

[ Upstream commit f6b7aeee8f167409195fbf1364d02988fecad1d0 ]

writeX() has strong ordering semantics with respect to memory updates.
In the absence of a write barrier or a compiler barrier, the compiler
can reorder register and memory update instructions. This breaks the
writeX() API.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/18997/
[jhogan@kernel.org: Tidy commit message]
Signed-off-by: James Hogan <jhogan@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/include/asm/io.h