linux/arch/arc
Vineet Gupta e5bc0478ab ARC: Add missing io barriers to io{read,write}{16,32}be()
While reviewing a different change to asm-generic/io.h Arnd spotted that
ARC ioread32 and ioread32be both of which come from asm-generic versions
are not symmetrical in terms of calling the io barriers.

generic ioread32   -> ARC readl()                  [ has barriers]
generic ioread32be -> __be32_to_cpu(__raw_readl()) [ lacks barriers]

While generic ioread32be is being remediated to call readl(), that involves
a swab32(), causing double swaps on ioread32be() on Big Endian systems.

So provide our versions of big endian IO accessors to ensure io barrier
calls while also keeping them optimal

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: stable@vger.kernel.org  [4.2+]
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-05-05 16:35:28 +05:30
..
boot Revert "ARC: [plat-axs10x] add Ethernet PHY description in .dts" 2016-04-07 14:59:09 +05:30
configs ARC: [plat-axs103] Enable loop block devices 2016-04-07 14:59:09 +05:30
include ARC: Add missing io barriers to io{read,write}{16,32}be() 2016-05-05 16:35:28 +05:30
kernel ARCv2: Enable LOCKDEP 2016-04-22 18:12:31 +05:30
lib ARCv2: lib: memcpy: use local symbols 2015-11-03 17:33:00 +05:30
mm ARC: add support for reserved memory defined by device tree 2016-04-27 17:06:56 +05:30
oprofile ARC: OProfile support 2013-02-15 23:16:00 +05:30
plat-axs10x ARC: Add PCI support 2016-03-10 14:44:13 -06:00
plat-sim ARC: remove extraneous header include 2015-11-14 13:11:38 +05:30
plat-tb10x ARC: [plat*] move code out of .init_machine into common 2014-10-13 14:46:13 +05:30
Kbuild ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30
Kconfig ARC: add support for reserved memory defined by device tree 2016-04-27 17:06:56 +05:30
Kconfig.debug ARC: With earlycon in use, retire EARLY_PRINTK 2015-05-11 11:20:21 +05:30
Makefile ARC: build: Turn off -Wmaybe-uninitialized for ARC gcc 4.8 2016-03-18 16:22:36 +05:30