iommu/vt-d: kill bogus ecap_niotlb_iunits()
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 13 Feb 2015 14:25:24 +0000 (14:25 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 25 Mar 2015 15:35:01 +0000 (15:35 +0000)
As far back as I can see (which right now is a draft of the v1.2 spec
dating from September 2008), bits 24-31 of the Extended Capability Register
have already been reserved. I have no idea why anyone ever thought there
would be multiple sets of IOTLB registers, but we've never supported them
and all we do is make sure we map enough MMIO space for them.

Kill it dead. Those bits do actually have a different meaning now.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
include/linux/intel-iommu.h

index a65208a8fe18e24f1e5f4d0d3333865daed33f35..ee24ada20428702f8fbdc9e481492ffdd4ffd8ff 100644 (file)
@@ -115,10 +115,8 @@ static inline void dmar_writeq(void __iomem *addr, u64 val)
  * Extended Capability Register
  */
 
-#define ecap_niotlb_iunits(e)  ((((e) >> 24) & 0xff) + 1)
 #define ecap_iotlb_offset(e)   ((((e) >> 8) & 0x3ff) * 16)
-#define ecap_max_iotlb_offset(e) \
-       (ecap_iotlb_offset(e) + ecap_niotlb_iunits(e) * 16)
+#define ecap_max_iotlb_offset(e) (ecap_iotlb_offset(e) + 16)
 #define ecap_coherent(e)       ((e) & 0x1)
 #define ecap_qis(e)            ((e) & 0x2)
 #define ecap_pass_through(e)   ((e >> 6) & 0x1)