xref: /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/io-defs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /* This file is meant to be include multiple times by other headers */
3*4882a593Smuzhiyun /* last 2 argments are used by platforms/cell/io-workarounds.[ch] */
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun DEF_PCI_AC_RET(readb, u8, (const PCI_IO_ADDR addr), (addr), mem, addr)
6*4882a593Smuzhiyun DEF_PCI_AC_RET(readw, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
7*4882a593Smuzhiyun DEF_PCI_AC_RET(readl, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
8*4882a593Smuzhiyun DEF_PCI_AC_RET(readw_be, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
9*4882a593Smuzhiyun DEF_PCI_AC_RET(readl_be, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
10*4882a593Smuzhiyun DEF_PCI_AC_NORET(writeb, (u8 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
11*4882a593Smuzhiyun DEF_PCI_AC_NORET(writew, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
12*4882a593Smuzhiyun DEF_PCI_AC_NORET(writel, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
13*4882a593Smuzhiyun DEF_PCI_AC_NORET(writew_be, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
14*4882a593Smuzhiyun DEF_PCI_AC_NORET(writel_be, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #ifdef __powerpc64__
17*4882a593Smuzhiyun DEF_PCI_AC_RET(readq, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
18*4882a593Smuzhiyun DEF_PCI_AC_RET(readq_be, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
19*4882a593Smuzhiyun DEF_PCI_AC_NORET(writeq, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
20*4882a593Smuzhiyun DEF_PCI_AC_NORET(writeq_be, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
21*4882a593Smuzhiyun #endif /* __powerpc64__ */
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun DEF_PCI_AC_RET(inb, u8, (unsigned long port), (port), pio, port)
24*4882a593Smuzhiyun DEF_PCI_AC_RET(inw, u16, (unsigned long port), (port), pio, port)
25*4882a593Smuzhiyun DEF_PCI_AC_RET(inl, u32, (unsigned long port), (port), pio, port)
26*4882a593Smuzhiyun DEF_PCI_AC_NORET(outb, (u8 val, unsigned long port), (val, port), pio, port)
27*4882a593Smuzhiyun DEF_PCI_AC_NORET(outw, (u16 val, unsigned long port), (val, port), pio, port)
28*4882a593Smuzhiyun DEF_PCI_AC_NORET(outl, (u32 val, unsigned long port), (val, port), pio, port)
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun DEF_PCI_AC_NORET(readsb, (const PCI_IO_ADDR a, void *b, unsigned long c),
31*4882a593Smuzhiyun 		 (a, b, c), mem, a)
32*4882a593Smuzhiyun DEF_PCI_AC_NORET(readsw, (const PCI_IO_ADDR a, void *b, unsigned long c),
33*4882a593Smuzhiyun 		 (a, b, c), mem, a)
34*4882a593Smuzhiyun DEF_PCI_AC_NORET(readsl, (const PCI_IO_ADDR a, void *b, unsigned long c),
35*4882a593Smuzhiyun 		 (a, b, c), mem, a)
36*4882a593Smuzhiyun DEF_PCI_AC_NORET(writesb, (PCI_IO_ADDR a, const void *b, unsigned long c),
37*4882a593Smuzhiyun 		 (a, b, c), mem, a)
38*4882a593Smuzhiyun DEF_PCI_AC_NORET(writesw, (PCI_IO_ADDR a, const void *b, unsigned long c),
39*4882a593Smuzhiyun 		 (a, b, c), mem, a)
40*4882a593Smuzhiyun DEF_PCI_AC_NORET(writesl, (PCI_IO_ADDR a, const void *b, unsigned long c),
41*4882a593Smuzhiyun 		 (a, b, c), mem, a)
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun DEF_PCI_AC_NORET(insb, (unsigned long p, void *b, unsigned long c),
44*4882a593Smuzhiyun 		 (p, b, c), pio, p)
45*4882a593Smuzhiyun DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
46*4882a593Smuzhiyun 		 (p, b, c), pio, p)
47*4882a593Smuzhiyun DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
48*4882a593Smuzhiyun 		 (p, b, c), pio, p)
49*4882a593Smuzhiyun DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
50*4882a593Smuzhiyun 		 (p, b, c), pio, p)
51*4882a593Smuzhiyun DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
52*4882a593Smuzhiyun 		 (p, b, c), pio, p)
53*4882a593Smuzhiyun DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
54*4882a593Smuzhiyun 		 (p, b, c), pio, p)
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun DEF_PCI_AC_NORET(memset_io, (PCI_IO_ADDR a, int c, unsigned long n),
57*4882a593Smuzhiyun 		 (a, c, n), mem, a)
58*4882a593Smuzhiyun DEF_PCI_AC_NORET(memcpy_fromio, (void *d, const PCI_IO_ADDR s, unsigned long n),
59*4882a593Smuzhiyun 		 (d, s, n), mem, s)
60*4882a593Smuzhiyun DEF_PCI_AC_NORET(memcpy_toio, (PCI_IO_ADDR d, const void *s, unsigned long n),
61*4882a593Smuzhiyun 		 (d, s, n), mem, d)
62