Lines Matching +full:non +full:- +full:volatile
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
61 * set when the platform supports "special" PIO accesses via a non memory
77 * This provides the non-bus specific accessors to MMIO. Those are PowerPC
95 /* -mprefixed can generate offsets beyond range, fall back hack */
98 static inline u##size name(const volatile u##size __iomem *addr) \
107 static inline void name(volatile u##size __iomem *addr, u##size val) \
115 static inline u##size name(const volatile u##size __iomem *addr) \
124 static inline void name(volatile u##size __iomem *addr, u##size val) \
132 static inline u##size name(const volatile u##size __iomem *addr) \
141 static inline void name(volatile u##size __iomem *addr, u##size val) \
149 static inline u##size name(const volatile u##size __iomem *addr) \
158 static inline void name(volatile u##size __iomem *addr, u##size val) \
199 static inline u64 in_le64(const volatile u64 __iomem *addr) in in_le64()
204 static inline void out_le64(volatile u64 __iomem *addr, u64 val) in out_le64()
213 static inline u64 in_be64(const volatile u64 __iomem *addr) in in_be64()
218 static inline void out_be64(volatile u64 __iomem *addr, u64 val) in out_be64()
229 extern void _insb(const volatile u8 __iomem *addr, void *buf, long count);
230 extern void _outsb(volatile u8 __iomem *addr,const void *buf,long count);
231 extern void _insw_ns(const volatile u16 __iomem *addr, void *buf, long count);
232 extern void _outsw_ns(volatile u16 __iomem *addr, const void *buf, long count);
233 extern void _insl_ns(const volatile u32 __iomem *addr, void *buf, long count);
234 extern void _outsl_ns(volatile u32 __iomem *addr, const void *buf, long count);
237 * the non _ns equivalent names
249 extern void _memset_io(volatile void __iomem *addr, int c, unsigned long n);
250 extern void _memcpy_fromio(void *dest, const volatile void __iomem *src,
252 extern void _memcpy_toio(volatile void __iomem *dest, const void *src,
262 * provides fairly heavy weight barriers for the non-raw versions
278 #define PCI_IO_ADDR volatile void __iomem *
327 * Non ordered and non-swapping "raw" accessors
330 static inline unsigned char __raw_readb(const volatile void __iomem *addr) in __raw_readb()
332 return *(volatile unsigned char __force *)PCI_FIX_ADDR(addr); in __raw_readb()
336 static inline unsigned short __raw_readw(const volatile void __iomem *addr) in __raw_readw()
338 return *(volatile unsigned short __force *)PCI_FIX_ADDR(addr); in __raw_readw()
342 static inline unsigned int __raw_readl(const volatile void __iomem *addr) in __raw_readl()
344 return *(volatile unsigned int __force *)PCI_FIX_ADDR(addr); in __raw_readl()
348 static inline void __raw_writeb(unsigned char v, volatile void __iomem *addr) in __raw_writeb()
350 *(volatile unsigned char __force *)PCI_FIX_ADDR(addr) = v; in __raw_writeb()
354 static inline void __raw_writew(unsigned short v, volatile void __iomem *addr) in __raw_writew()
356 *(volatile unsigned short __force *)PCI_FIX_ADDR(addr) = v; in __raw_writew()
360 static inline void __raw_writel(unsigned int v, volatile void __iomem *addr) in __raw_writel()
362 *(volatile unsigned int __force *)PCI_FIX_ADDR(addr) = v; in __raw_writel()
367 static inline unsigned long __raw_readq(const volatile void __iomem *addr) in __raw_readq()
369 return *(volatile unsigned long __force *)PCI_FIX_ADDR(addr); in __raw_readq()
373 static inline void __raw_writeq(unsigned long v, volatile void __iomem *addr) in __raw_writeq()
375 *(volatile unsigned long __force *)PCI_FIX_ADDR(addr) = v; in __raw_writeq()
379 static inline void __raw_writeq_be(unsigned long v, volatile void __iomem *addr) in __raw_writeq_be()
389 static inline void __raw_rm_writeb(u8 val, volatile void __iomem *paddr) in __raw_rm_writeb()
398 static inline void __raw_rm_writew(u16 val, volatile void __iomem *paddr) in __raw_rm_writew()
407 static inline void __raw_rm_writel(u32 val, volatile void __iomem *paddr) in __raw_rm_writel()
416 static inline void __raw_rm_writeq(u64 val, volatile void __iomem *paddr) in __raw_rm_writeq()
425 static inline void __raw_rm_writeq_be(u64 val, volatile void __iomem *paddr) in __raw_rm_writeq_be()
430 static inline u8 __raw_rm_readb(volatile void __iomem *paddr) in __raw_rm_readb()
441 static inline u16 __raw_rm_readw(volatile void __iomem *paddr) in __raw_rm_readw()
452 static inline u32 __raw_rm_readl(volatile void __iomem *paddr) in __raw_rm_readl()
463 static inline u64 __raw_rm_readq(volatile void __iomem *paddr) in __raw_rm_readq()
481 * machine checks (which they occasionally do when probing non existing
503 "5: li %0,-1\n" \
647 #include <asm/io-defs.h>
672 #include <asm/io-defs.h>
828 /* Enforce in-order execution of data I/O.
855 * ioremap - map bus memory into CPU space
867 * * ioremap is the standard one and provides non-cacheable guarded mappings
918 #define PIO_MASK (FULL_IO_SIZE - 1)
935 * virt_to_phys - map virtual addresses to physical
946 static inline unsigned long virt_to_phys(const volatile void * address) in virt_to_phys()
955 * phys_to_virt - map physical address to virtual
992 static inline unsigned long virt_to_bus(volatile void * address) in virt_to_bus()
1004 return __va(address - PCI_DRAM_OFFSET); in bus_to_virt()
1021 * set multiple bits in a register using a single read-modify-write. These
1022 * macros can also be used to set a multiple-bit bit pattern using a mask,
1043 #include <asm-generic/io.h>