diff options
author | Jiang Liu <jiang.liu@linux.intel.com> | 2014-02-19 01:07:25 -0500 |
---|---|---|
committer | Joerg Roedel <joro@8bytes.org> | 2014-03-04 11:51:00 -0500 |
commit | b94e4117f8c4ffb591b1e462364d725e3a1c63c4 (patch) | |
tree | f5c60346cfbe051d74a6ac6817852033b3f633f3 /drivers/iommu/intel-iommu.c | |
parent | bb3a6b7845851d23cb826040b4c3c9c294e7cfb4 (diff) |
iommu/vt-d: Move private structures and variables into intel-iommu.c
Move private structures and variables into intel-iommu.c, which will
help to simplify locking policy for hotplug. Also delete redundant
declarations.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
Diffstat (limited to 'drivers/iommu/intel-iommu.c')
-rw-r--r-- | drivers/iommu/intel-iommu.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 5a411e83433c..fffe3d166662 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c | |||
@@ -380,6 +380,29 @@ struct device_domain_info { | |||
380 | struct dmar_domain *domain; /* pointer to domain */ | 380 | struct dmar_domain *domain; /* pointer to domain */ |
381 | }; | 381 | }; |
382 | 382 | ||
383 | struct dmar_rmrr_unit { | ||
384 | struct list_head list; /* list of rmrr units */ | ||
385 | struct acpi_dmar_header *hdr; /* ACPI header */ | ||
386 | u64 base_address; /* reserved base address*/ | ||
387 | u64 end_address; /* reserved end address */ | ||
388 | struct pci_dev **devices; /* target devices */ | ||
389 | int devices_cnt; /* target device count */ | ||
390 | }; | ||
391 | |||
392 | struct dmar_atsr_unit { | ||
393 | struct list_head list; /* list of ATSR units */ | ||
394 | struct acpi_dmar_header *hdr; /* ACPI header */ | ||
395 | struct pci_dev **devices; /* target devices */ | ||
396 | int devices_cnt; /* target device count */ | ||
397 | u8 include_all:1; /* include all ports */ | ||
398 | }; | ||
399 | |||
400 | static LIST_HEAD(dmar_atsr_units); | ||
401 | static LIST_HEAD(dmar_rmrr_units); | ||
402 | |||
403 | #define for_each_rmrr_units(rmrr) \ | ||
404 | list_for_each_entry(rmrr, &dmar_rmrr_units, list) | ||
405 | |||
383 | static void flush_unmaps_timeout(unsigned long data); | 406 | static void flush_unmaps_timeout(unsigned long data); |
384 | 407 | ||
385 | static DEFINE_TIMER(unmap_timer, flush_unmaps_timeout, 0, 0); | 408 | static DEFINE_TIMER(unmap_timer, flush_unmaps_timeout, 0, 0); |
@@ -403,6 +426,8 @@ static int timer_on; | |||
403 | static long list_size; | 426 | static long list_size; |
404 | 427 | ||
405 | static void domain_remove_dev_info(struct dmar_domain *domain); | 428 | static void domain_remove_dev_info(struct dmar_domain *domain); |
429 | static void domain_remove_one_dev_info(struct dmar_domain *domain, | ||
430 | struct pci_dev *pdev); | ||
406 | 431 | ||
407 | #ifdef CONFIG_INTEL_IOMMU_DEFAULT_ON | 432 | #ifdef CONFIG_INTEL_IOMMU_DEFAULT_ON |
408 | int dmar_disabled = 0; | 433 | int dmar_disabled = 0; |
@@ -2243,8 +2268,6 @@ static int __init si_domain_init(int hw) | |||
2243 | return 0; | 2268 | return 0; |
2244 | } | 2269 | } |
2245 | 2270 | ||
2246 | static void domain_remove_one_dev_info(struct dmar_domain *domain, | ||
2247 | struct pci_dev *pdev); | ||
2248 | static int identity_mapping(struct pci_dev *pdev) | 2271 | static int identity_mapping(struct pci_dev *pdev) |
2249 | { | 2272 | { |
2250 | struct device_domain_info *info; | 2273 | struct device_domain_info *info; |
@@ -3432,8 +3455,6 @@ static void __init init_iommu_pm_ops(void) | |||
3432 | static inline void init_iommu_pm_ops(void) {} | 3455 | static inline void init_iommu_pm_ops(void) {} |
3433 | #endif /* CONFIG_PM */ | 3456 | #endif /* CONFIG_PM */ |
3434 | 3457 | ||
3435 | LIST_HEAD(dmar_rmrr_units); | ||
3436 | |||
3437 | static void __init dmar_register_rmrr_unit(struct dmar_rmrr_unit *rmrr) | 3458 | static void __init dmar_register_rmrr_unit(struct dmar_rmrr_unit *rmrr) |
3438 | { | 3459 | { |
3439 | list_add(&rmrr->list, &dmar_rmrr_units); | 3460 | list_add(&rmrr->list, &dmar_rmrr_units); |
@@ -3470,8 +3491,6 @@ rmrr_parse_dev(struct dmar_rmrr_unit *rmrru) | |||
3470 | rmrr->segment); | 3491 | rmrr->segment); |
3471 | } | 3492 | } |
3472 | 3493 | ||
3473 | static LIST_HEAD(dmar_atsr_units); | ||
3474 | |||
3475 | int __init dmar_parse_one_atsr(struct acpi_dmar_header *hdr) | 3494 | int __init dmar_parse_one_atsr(struct acpi_dmar_header *hdr) |
3476 | { | 3495 | { |
3477 | struct acpi_dmar_atsr *atsr; | 3496 | struct acpi_dmar_atsr *atsr; |