• Vineet Gupta's avatar
    ARC: Add missing io barriers to io{read,write}{16,32}be() · e5bc0478
    Vineet Gupta authored
    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: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    Cc: stable@vger.kernel.org  [4.2+]
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    e5bc0478
io.h 4.36 KB