Lines Matching refs:addr

35 #define INDIRECT_ADDR(addr)	(((unsigned long)(addr) & 1UL<<63) != 0)  argument
36 #define ADDR_TO_REGION(addr) (((unsigned long)addr >> 60) & 7) argument
39 #define INDIRECT_ADDR(addr) (((unsigned long)(addr) & 1UL<<31) != 0) argument
40 #define ADDR_TO_REGION(addr) (((unsigned long)addr >> 28) & 7) argument
65 #define ADDR2PORT(addr) ((unsigned long __force)(addr) & 0xffffff) argument
67 static unsigned int ioport_read8(void __iomem *addr) in ioport_read8() argument
69 return inb(ADDR2PORT(addr)); in ioport_read8()
72 static unsigned int ioport_read16(void __iomem *addr) in ioport_read16() argument
74 return inw(ADDR2PORT(addr)); in ioport_read16()
77 static unsigned int ioport_read32(void __iomem *addr) in ioport_read32() argument
79 return inl(ADDR2PORT(addr)); in ioport_read32()
82 static void ioport_write8(u8 datum, void __iomem *addr) in ioport_write8() argument
84 outb(datum, ADDR2PORT(addr)); in ioport_write8()
87 static void ioport_write16(u16 datum, void __iomem *addr) in ioport_write16() argument
89 outw(datum, ADDR2PORT(addr)); in ioport_write16()
92 static void ioport_write32(u32 datum, void __iomem *addr) in ioport_write32() argument
94 outl(datum, ADDR2PORT(addr)); in ioport_write32()
97 static void ioport_read8r(void __iomem *addr, void *dst, unsigned long count) in ioport_read8r() argument
99 insb(ADDR2PORT(addr), dst, count); in ioport_read8r()
102 static void ioport_read16r(void __iomem *addr, void *dst, unsigned long count) in ioport_read16r() argument
104 insw(ADDR2PORT(addr), dst, count); in ioport_read16r()
107 static void ioport_read32r(void __iomem *addr, void *dst, unsigned long count) in ioport_read32r() argument
109 insl(ADDR2PORT(addr), dst, count); in ioport_read32r()
112 static void ioport_write8r(void __iomem *addr, const void *s, unsigned long n) in ioport_write8r() argument
114 outsb(ADDR2PORT(addr), s, n); in ioport_write8r()
117 static void ioport_write16r(void __iomem *addr, const void *s, unsigned long n) in ioport_write16r() argument
119 outsw(ADDR2PORT(addr), s, n); in ioport_write16r()
122 static void ioport_write32r(void __iomem *addr, const void *s, unsigned long n) in ioport_write32r() argument
124 outsl(ADDR2PORT(addr), s, n); in ioport_write32r()
148 static unsigned int iomem_read8(void __iomem *addr) in iomem_read8() argument
150 return readb(addr); in iomem_read8()
153 static unsigned int iomem_read16(void __iomem *addr) in iomem_read16() argument
155 return readw(addr); in iomem_read16()
158 static unsigned int iomem_read16be(void __iomem *addr) in iomem_read16be() argument
160 return __raw_readw(addr); in iomem_read16be()
163 static unsigned int iomem_read32(void __iomem *addr) in iomem_read32() argument
165 return readl(addr); in iomem_read32()
168 static unsigned int iomem_read32be(void __iomem *addr) in iomem_read32be() argument
170 return __raw_readl(addr); in iomem_read32be()
173 static void iomem_write8(u8 datum, void __iomem *addr) in iomem_write8() argument
175 writeb(datum, addr); in iomem_write8()
178 static void iomem_write16(u16 datum, void __iomem *addr) in iomem_write16() argument
180 writew(datum, addr); in iomem_write16()
183 static void iomem_write16be(u16 datum, void __iomem *addr) in iomem_write16be() argument
185 __raw_writew(datum, addr); in iomem_write16be()
188 static void iomem_write32(u32 datum, void __iomem *addr) in iomem_write32() argument
190 writel(datum, addr); in iomem_write32()
193 static void iomem_write32be(u32 datum, void __iomem *addr) in iomem_write32be() argument
195 __raw_writel(datum, addr); in iomem_write32be()
198 static void iomem_read8r(void __iomem *addr, void *dst, unsigned long count) in iomem_read8r() argument
201 *(u8 *)dst = __raw_readb(addr); in iomem_read8r()
206 static void iomem_read16r(void __iomem *addr, void *dst, unsigned long count) in iomem_read16r() argument
209 *(u16 *)dst = __raw_readw(addr); in iomem_read16r()
214 static void iomem_read32r(void __iomem *addr, void *dst, unsigned long count) in iomem_read32r() argument
217 *(u32 *)dst = __raw_readl(addr); in iomem_read32r()
222 static void iomem_write8r(void __iomem *addr, const void *s, unsigned long n) in iomem_write8r() argument
225 __raw_writeb(*(u8 *)s, addr); in iomem_write8r()
230 static void iomem_write16r(void __iomem *addr, const void *s, unsigned long n) in iomem_write16r() argument
233 __raw_writew(*(u16 *)s, addr); in iomem_write16r()
238 static void iomem_write32r(void __iomem *addr, const void *s, unsigned long n) in iomem_write32r() argument
241 __raw_writel(*(u32 *)s, addr); in iomem_write32r()
271 unsigned int ioread8(void __iomem *addr) in ioread8() argument
273 if (unlikely(INDIRECT_ADDR(addr))) in ioread8()
274 return iomap_ops[ADDR_TO_REGION(addr)]->read8(addr); in ioread8()
275 return *((u8 *)addr); in ioread8()
278 unsigned int ioread16(void __iomem *addr) in ioread16() argument
280 if (unlikely(INDIRECT_ADDR(addr))) in ioread16()
281 return iomap_ops[ADDR_TO_REGION(addr)]->read16(addr); in ioread16()
282 return le16_to_cpup((u16 *)addr); in ioread16()
285 unsigned int ioread16be(void __iomem *addr) in ioread16be() argument
287 if (unlikely(INDIRECT_ADDR(addr))) in ioread16be()
288 return iomap_ops[ADDR_TO_REGION(addr)]->read16be(addr); in ioread16be()
289 return *((u16 *)addr); in ioread16be()
292 unsigned int ioread32(void __iomem *addr) in ioread32() argument
294 if (unlikely(INDIRECT_ADDR(addr))) in ioread32()
295 return iomap_ops[ADDR_TO_REGION(addr)]->read32(addr); in ioread32()
296 return le32_to_cpup((u32 *)addr); in ioread32()
299 unsigned int ioread32be(void __iomem *addr) in ioread32be() argument
301 if (unlikely(INDIRECT_ADDR(addr))) in ioread32be()
302 return iomap_ops[ADDR_TO_REGION(addr)]->read32be(addr); in ioread32be()
303 return *((u32 *)addr); in ioread32be()
306 void iowrite8(u8 datum, void __iomem *addr) in iowrite8() argument
308 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite8()
309 iomap_ops[ADDR_TO_REGION(addr)]->write8(datum, addr); in iowrite8()
311 *((u8 *)addr) = datum; in iowrite8()
315 void iowrite16(u16 datum, void __iomem *addr) in iowrite16() argument
317 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite16()
318 iomap_ops[ADDR_TO_REGION(addr)]->write16(datum, addr); in iowrite16()
320 *((u16 *)addr) = cpu_to_le16(datum); in iowrite16()
324 void iowrite16be(u16 datum, void __iomem *addr) in iowrite16be() argument
326 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite16be()
327 iomap_ops[ADDR_TO_REGION(addr)]->write16be(datum, addr); in iowrite16be()
329 *((u16 *)addr) = datum; in iowrite16be()
333 void iowrite32(u32 datum, void __iomem *addr) in iowrite32() argument
335 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite32()
336 iomap_ops[ADDR_TO_REGION(addr)]->write32(datum, addr); in iowrite32()
338 *((u32 *)addr) = cpu_to_le32(datum); in iowrite32()
342 void iowrite32be(u32 datum, void __iomem *addr) in iowrite32be() argument
344 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite32be()
345 iomap_ops[ADDR_TO_REGION(addr)]->write32be(datum, addr); in iowrite32be()
347 *((u32 *)addr) = datum; in iowrite32be()
353 void ioread8_rep(void __iomem *addr, void *dst, unsigned long count) in ioread8_rep() argument
355 if (unlikely(INDIRECT_ADDR(addr))) { in ioread8_rep()
356 iomap_ops[ADDR_TO_REGION(addr)]->read8r(addr, dst, count); in ioread8_rep()
359 *(u8 *)dst = *(u8 *)addr; in ioread8_rep()
365 void ioread16_rep(void __iomem *addr, void *dst, unsigned long count) in ioread16_rep() argument
367 if (unlikely(INDIRECT_ADDR(addr))) { in ioread16_rep()
368 iomap_ops[ADDR_TO_REGION(addr)]->read16r(addr, dst, count); in ioread16_rep()
371 *(u16 *)dst = *(u16 *)addr; in ioread16_rep()
377 void ioread32_rep(void __iomem *addr, void *dst, unsigned long count) in ioread32_rep() argument
379 if (unlikely(INDIRECT_ADDR(addr))) { in ioread32_rep()
380 iomap_ops[ADDR_TO_REGION(addr)]->read32r(addr, dst, count); in ioread32_rep()
383 *(u32 *)dst = *(u32 *)addr; in ioread32_rep()
389 void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count) in iowrite8_rep() argument
391 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite8_rep()
392 iomap_ops[ADDR_TO_REGION(addr)]->write8r(addr, src, count); in iowrite8_rep()
395 *(u8 *)addr = *(u8 *)src; in iowrite8_rep()
401 void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count) in iowrite16_rep() argument
403 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite16_rep()
404 iomap_ops[ADDR_TO_REGION(addr)]->write16r(addr, src, count); in iowrite16_rep()
407 *(u16 *)addr = *(u16 *)src; in iowrite16_rep()
413 void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count) in iowrite32_rep() argument
415 if (unlikely(INDIRECT_ADDR(addr))) { in iowrite32_rep()
416 iomap_ops[ADDR_TO_REGION(addr)]->write32r(addr, src, count); in iowrite32_rep()
419 *(u32 *)addr = *(u32 *)src; in iowrite32_rep()
432 void ioport_unmap(void __iomem *addr) in ioport_unmap() argument
434 if (!INDIRECT_ADDR(addr)) { in ioport_unmap()
435 iounmap(addr); in ioport_unmap()
439 void pci_iounmap(struct pci_dev *dev, void __iomem * addr) in pci_iounmap() argument
441 if (!INDIRECT_ADDR(addr)) { in pci_iounmap()
442 iounmap(addr); in pci_iounmap()