io: change outX() to have their own IO barrier overrides

Open code writeX() inside outX() so that outX() variants have their own
overrideable Port IO barrier combinations as __io_pbw() and __io_paw() for
actions to be taken before port IO and after port IO write.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Sinan Kaya 2018-04-05 09:09:12 -04:00 committed by Arnd Bergmann
parent 755bd04aaf
commit a7851aa54c

View file

@ -457,7 +457,9 @@ static inline u32 inl(unsigned long addr)
#define outb outb
static inline void outb(u8 value, unsigned long addr)
{
writeb(value, PCI_IOBASE + addr);
__io_pbw();
__raw_writeb(value, PCI_IOBASE + addr);
__io_paw();
}
#endif
@ -465,7 +467,9 @@ static inline void outb(u8 value, unsigned long addr)
#define outw outw
static inline void outw(u16 value, unsigned long addr)
{
writew(value, PCI_IOBASE + addr);
__io_pbw();
__raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
__io_paw();
}
#endif
@ -473,7 +477,9 @@ static inline void outw(u16 value, unsigned long addr)
#define outl outl
static inline void outl(u32 value, unsigned long addr)
{
writel(value, PCI_IOBASE + addr);
__io_pbw();
__raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
__io_paw();
}
#endif