diff options
Diffstat (limited to 'include/linux/intel-iommu.h')
-rw-r--r-- | include/linux/intel-iommu.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index a65208a8fe18..796ef9645827 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h | |||
@@ -115,10 +115,19 @@ static inline void dmar_writeq(void __iomem *addr, u64 val) | |||
115 | * Extended Capability Register | 115 | * Extended Capability Register |
116 | */ | 116 | */ |
117 | 117 | ||
118 | #define ecap_niotlb_iunits(e) ((((e) >> 24) & 0xff) + 1) | 118 | #define ecap_pss(e) ((e >> 35) & 0x1f) |
119 | #define ecap_eafs(e) ((e >> 34) & 0x1) | ||
120 | #define ecap_nwfs(e) ((e >> 33) & 0x1) | ||
121 | #define ecap_srs(e) ((e >> 31) & 0x1) | ||
122 | #define ecap_ers(e) ((e >> 30) & 0x1) | ||
123 | #define ecap_prs(e) ((e >> 29) & 0x1) | ||
124 | #define ecap_pasid(e) ((e >> 28) & 0x1) | ||
125 | #define ecap_dis(e) ((e >> 27) & 0x1) | ||
126 | #define ecap_nest(e) ((e >> 26) & 0x1) | ||
127 | #define ecap_mts(e) ((e >> 25) & 0x1) | ||
128 | #define ecap_ecs(e) ((e >> 24) & 0x1) | ||
119 | #define ecap_iotlb_offset(e) ((((e) >> 8) & 0x3ff) * 16) | 129 | #define ecap_iotlb_offset(e) ((((e) >> 8) & 0x3ff) * 16) |
120 | #define ecap_max_iotlb_offset(e) \ | 130 | #define ecap_max_iotlb_offset(e) (ecap_iotlb_offset(e) + 16) |
121 | (ecap_iotlb_offset(e) + ecap_niotlb_iunits(e) * 16) | ||
122 | #define ecap_coherent(e) ((e) & 0x1) | 131 | #define ecap_coherent(e) ((e) & 0x1) |
123 | #define ecap_qis(e) ((e) & 0x2) | 132 | #define ecap_qis(e) ((e) & 0x2) |
124 | #define ecap_pass_through(e) ((e >> 6) & 0x1) | 133 | #define ecap_pass_through(e) ((e >> 6) & 0x1) |
@@ -180,6 +189,9 @@ static inline void dmar_writeq(void __iomem *addr, u64 val) | |||
180 | #define DMA_GSTS_IRES (((u32)1) << 25) | 189 | #define DMA_GSTS_IRES (((u32)1) << 25) |
181 | #define DMA_GSTS_CFIS (((u32)1) << 23) | 190 | #define DMA_GSTS_CFIS (((u32)1) << 23) |
182 | 191 | ||
192 | /* DMA_RTADDR_REG */ | ||
193 | #define DMA_RTADDR_RTT (((u64)1) << 11) | ||
194 | |||
183 | /* CCMD_REG */ | 195 | /* CCMD_REG */ |
184 | #define DMA_CCMD_ICC (((u64)1) << 63) | 196 | #define DMA_CCMD_ICC (((u64)1) << 63) |
185 | #define DMA_CCMD_GLOBAL_INVL (((u64)1) << 61) | 197 | #define DMA_CCMD_GLOBAL_INVL (((u64)1) << 61) |