aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/intel-iommu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/intel-iommu.h')
-rw-r--r--include/linux/intel-iommu.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index 0c5f5e49107b..afb0d2a5b7cd 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -278,6 +278,13 @@ struct ir_table {
278}; 278};
279#endif 279#endif
280 280
281struct iommu_flush {
282 int (*flush_context)(struct intel_iommu *iommu, u16 did, u16 sid, u8 fm,
283 u64 type, int non_present_entry_flush);
284 int (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr,
285 unsigned int size_order, u64 type, int non_present_entry_flush);
286};
287
281struct intel_iommu { 288struct intel_iommu {
282 void __iomem *reg; /* Pointer to hardware regs, virtual addr */ 289 void __iomem *reg; /* Pointer to hardware regs, virtual addr */
283 u64 cap; 290 u64 cap;
@@ -297,6 +304,7 @@ struct intel_iommu {
297 unsigned char name[7]; /* Device Name */ 304 unsigned char name[7]; /* Device Name */
298 struct msi_msg saved_msg; 305 struct msi_msg saved_msg;
299 struct sys_device sysdev; 306 struct sys_device sysdev;
307 struct iommu_flush flush;
300#endif 308#endif
301 struct q_inval *qi; /* Queued invalidation info */ 309 struct q_inval *qi; /* Queued invalidation info */
302#ifdef CONFIG_INTR_REMAP 310#ifdef CONFIG_INTR_REMAP