linux/include/asm-generic/io-64-nonatomic-hi-lo.h
<<
>>
Prefs
   1#ifndef _ASM_IO_64_NONATOMIC_HI_LO_H_
   2#define _ASM_IO_64_NONATOMIC_HI_LO_H_
   3
   4#include <linux/io.h>
   5#include <asm-generic/int-ll64.h>
   6
   7#ifndef readq
   8static inline __u64 readq(const volatile void __iomem *addr)
   9{
  10        const volatile u32 __iomem *p = addr;
  11        u32 low, high;
  12
  13        high = readl(p + 1);
  14        low = readl(p);
  15
  16        return low + ((u64)high << 32);
  17}
  18#endif
  19
  20#ifndef writeq
  21static inline void writeq(__u64 val, volatile void __iomem *addr)
  22{
  23        writel(val >> 32, addr + 4);
  24        writel(val, addr);
  25}
  26#endif
  27
  28#endif  /* _ASM_IO_64_NONATOMIC_HI_LO_H_ */
  29