Skip to content

Commit b94e411

Browse files
Jiang Liujoergroedel
authored andcommitted
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 <[email protected]> Signed-off-by: Joerg Roedel <[email protected]>
1 parent bb3a6b7 commit b94e411

File tree

2 files changed

+26
-28
lines changed

2 files changed

+26
-28
lines changed

drivers/iommu/intel-iommu.c

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,29 @@ struct device_domain_info {
380380
struct dmar_domain *domain; /* pointer to domain */
381381
};
382382

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+
383406
static void flush_unmaps_timeout(unsigned long data);
384407

385408
static DEFINE_TIMER(unmap_timer, flush_unmaps_timeout, 0, 0);
@@ -403,6 +426,8 @@ static int timer_on;
403426
static long list_size;
404427

405428
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);
406431

407432
#ifdef CONFIG_INTEL_IOMMU_DEFAULT_ON
408433
int dmar_disabled = 0;
@@ -2243,8 +2268,6 @@ static int __init si_domain_init(int hw)
22432268
return 0;
22442269
}
22452270

2246-
static void domain_remove_one_dev_info(struct dmar_domain *domain,
2247-
struct pci_dev *pdev);
22482271
static int identity_mapping(struct pci_dev *pdev)
22492272
{
22502273
struct device_domain_info *info;
@@ -3432,8 +3455,6 @@ static void __init init_iommu_pm_ops(void)
34323455
static inline void init_iommu_pm_ops(void) {}
34333456
#endif /* CONFIG_PM */
34343457

3435-
LIST_HEAD(dmar_rmrr_units);
3436-
34373458
static void __init dmar_register_rmrr_unit(struct dmar_rmrr_unit *rmrr)
34383459
{
34393460
list_add(&rmrr->list, &dmar_rmrr_units);
@@ -3470,8 +3491,6 @@ rmrr_parse_dev(struct dmar_rmrr_unit *rmrru)
34703491
rmrr->segment);
34713492
}
34723493

3473-
static LIST_HEAD(dmar_atsr_units);
3474-
34753494
int __init dmar_parse_one_atsr(struct acpi_dmar_header *hdr)
34763495
{
34773496
struct acpi_dmar_atsr *atsr;

include/linux/dmar.h

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -139,28 +139,7 @@ extern int arch_setup_dmar_msi(unsigned int irq);
139139

140140
#ifdef CONFIG_INTEL_IOMMU
141141
extern int iommu_detected, no_iommu;
142-
extern struct list_head dmar_rmrr_units;
143-
struct dmar_rmrr_unit {
144-
struct list_head list; /* list of rmrr units */
145-
struct acpi_dmar_header *hdr; /* ACPI header */
146-
u64 base_address; /* reserved base address*/
147-
u64 end_address; /* reserved end address */
148-
struct pci_dev **devices; /* target devices */
149-
int devices_cnt; /* target device count */
150-
};
151-
152-
#define for_each_rmrr_units(rmrr) \
153-
list_for_each_entry(rmrr, &dmar_rmrr_units, list)
154-
155-
struct dmar_atsr_unit {
156-
struct list_head list; /* list of ATSR units */
157-
struct acpi_dmar_header *hdr; /* ACPI header */
158-
struct pci_dev **devices; /* target devices */
159-
int devices_cnt; /* target device count */
160-
u8 include_all:1; /* include all ports */
161-
};
162-
163-
int dmar_parse_rmrr_atsr_dev(void);
142+
extern int dmar_parse_rmrr_atsr_dev(void);
164143
extern int dmar_parse_one_rmrr(struct acpi_dmar_header *header);
165144
extern int dmar_parse_one_atsr(struct acpi_dmar_header *header);
166145
extern int intel_iommu_init(void);

0 commit comments

Comments
 (0)