diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2015-10-13 20:48:21 +0100 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2015-10-13 20:48:23 +0100 |
commit | 50d3fb562561fcf5b745e71945834735d7386a1f (patch) | |
tree | e94199089d8e4eac798b982e498ad90ec2665f15 | |
parent | ba2374fd2bf379f933773811fdb06cb6a5445f41 (diff) | |
download | linux-50d3fb562561fcf5b745e71945834735d7386a1f.tar.bz2 |
iommu/vt-d: Use plain writeq() for dmar_writeq() where available
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r-- | include/linux/intel-iommu.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index 6240063bdcac..08802b99f057 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h @@ -59,14 +59,11 @@ #define DMAR_IRTA_REG 0xb8 /* Interrupt remapping table addr register */ #define OFFSET_STRIDE (9) -/* -#define dmar_readl(dmar, reg) readl(dmar + reg) -#define dmar_readq(dmar, reg) ({ \ - u32 lo, hi; \ - lo = readl(dmar + reg); \ - hi = readl(dmar + reg + 4); \ - (((u64) hi) << 32) + lo; }) -*/ + +#ifdef CONFIG_64BIT +#define dmar_readq(a) readq(a) +#define dmar_writeq(a,v) writeq(v,a) +#else static inline u64 dmar_readq(void __iomem *addr) { u32 lo, hi; @@ -80,6 +77,7 @@ static inline void dmar_writeq(void __iomem *addr, u64 val) writel((u32)val, addr); writel((u32)(val >> 32), addr + 4); } +#endif #define DMAR_VER_MAJOR(v) (((v) & 0xf0) >> 4) #define DMAR_VER_MINOR(v) ((v) & 0x0f) |