diff options
author | Weidong Han <weidong.han@intel.com> | 2008-12-08 02:34:06 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-01-03 08:02:18 -0500 |
commit | 1b5736839ae13dadc5947940144f95dd0f4a4a8c (patch) | |
tree | 2b6ce6b68850d905e4ce5d38b6872b82f6328208 /include | |
parent | 8c11e798eee2ce4475134eaf61302b28ea4f205d (diff) |
calculate agaw for each iommu
"SAGAW" capability may be different across iommus. Use a default agaw, but if default agaw is not supported in some iommus, choose a less supported agaw.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/dma_remapping.h | 1 | ||||
-rw-r--r-- | include/linux/intel-iommu.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/dma_remapping.h b/include/linux/dma_remapping.h index 7799a85614c1..136f170cecc2 100644 --- a/include/linux/dma_remapping.h +++ b/include/linux/dma_remapping.h | |||
@@ -17,6 +17,7 @@ struct dmar_domain; | |||
17 | struct root_entry; | 17 | struct root_entry; |
18 | 18 | ||
19 | extern void free_dmar_iommu(struct intel_iommu *iommu); | 19 | extern void free_dmar_iommu(struct intel_iommu *iommu); |
20 | extern int iommu_calculate_agaw(struct intel_iommu *iommu); | ||
20 | 21 | ||
21 | extern int dmar_disabled; | 22 | extern int dmar_disabled; |
22 | 23 | ||
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index 1bff7bf1bc2c..06349fd5871b 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h | |||
@@ -290,6 +290,7 @@ struct intel_iommu { | |||
290 | u32 gcmd; /* Holds TE, EAFL. Don't need SRTP, SFL, WBF */ | 290 | u32 gcmd; /* Holds TE, EAFL. Don't need SRTP, SFL, WBF */ |
291 | spinlock_t register_lock; /* protect register handling */ | 291 | spinlock_t register_lock; /* protect register handling */ |
292 | int seq_id; /* sequence id of the iommu */ | 292 | int seq_id; /* sequence id of the iommu */ |
293 | int agaw; /* agaw of this iommu */ | ||
293 | 294 | ||
294 | #ifdef CONFIG_DMAR | 295 | #ifdef CONFIG_DMAR |
295 | unsigned long *domain_ids; /* bitmap of domains */ | 296 | unsigned long *domain_ids; /* bitmap of domains */ |