mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
iommu/vt-d: Remove global g_iommus array
The g_iommus and g_num_of_iommus is not used anywhere. Remove them to avoid dead code. Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Steve Wahl <steve.wahl@hpe.com> Link: https://lore.kernel.org/r/20220702015610.2849494-6-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
97a79de99a
commit
bdb46d1758
@ -126,9 +126,6 @@ static inline unsigned long virt_to_dma_pfn(void *p)
|
|||||||
return page_to_dma_pfn(virt_to_page(p));
|
return page_to_dma_pfn(virt_to_page(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* global iommu list, set NULL for ignored DMAR units */
|
|
||||||
static struct intel_iommu **g_iommus;
|
|
||||||
|
|
||||||
static void __init check_tylersburg_isoch(void);
|
static void __init check_tylersburg_isoch(void);
|
||||||
static int rwbf_quirk;
|
static int rwbf_quirk;
|
||||||
|
|
||||||
@ -287,9 +284,6 @@ static LIST_HEAD(dmar_satc_units);
|
|||||||
#define for_each_rmrr_units(rmrr) \
|
#define for_each_rmrr_units(rmrr) \
|
||||||
list_for_each_entry(rmrr, &dmar_rmrr_units, list)
|
list_for_each_entry(rmrr, &dmar_rmrr_units, list)
|
||||||
|
|
||||||
/* bitmap for indexing intel_iommus */
|
|
||||||
static int g_num_of_iommus;
|
|
||||||
|
|
||||||
static void dmar_remove_one_dev_info(struct device *dev);
|
static void dmar_remove_one_dev_info(struct device *dev);
|
||||||
|
|
||||||
int dmar_disabled = !IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON);
|
int dmar_disabled = !IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON);
|
||||||
@ -1694,8 +1688,6 @@ static void free_dmar_iommu(struct intel_iommu *iommu)
|
|||||||
iommu->domain_ids = NULL;
|
iommu->domain_ids = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_iommus[iommu->seq_id] = NULL;
|
|
||||||
|
|
||||||
/* free context mapping */
|
/* free context mapping */
|
||||||
free_context_table(iommu);
|
free_context_table(iommu);
|
||||||
|
|
||||||
@ -2898,36 +2890,6 @@ static int __init init_dmars(void)
|
|||||||
struct intel_iommu *iommu;
|
struct intel_iommu *iommu;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/*
|
|
||||||
* for each drhd
|
|
||||||
* allocate root
|
|
||||||
* initialize and program root entry to not present
|
|
||||||
* endfor
|
|
||||||
*/
|
|
||||||
for_each_drhd_unit(drhd) {
|
|
||||||
/*
|
|
||||||
* lock not needed as this is only incremented in the single
|
|
||||||
* threaded kernel __init code path all other access are read
|
|
||||||
* only
|
|
||||||
*/
|
|
||||||
if (g_num_of_iommus < DMAR_UNITS_SUPPORTED) {
|
|
||||||
g_num_of_iommus++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
pr_err_once("Exceeded %d IOMMUs\n", DMAR_UNITS_SUPPORTED);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Preallocate enough resources for IOMMU hot-addition */
|
|
||||||
if (g_num_of_iommus < DMAR_UNITS_SUPPORTED)
|
|
||||||
g_num_of_iommus = DMAR_UNITS_SUPPORTED;
|
|
||||||
|
|
||||||
g_iommus = kcalloc(g_num_of_iommus, sizeof(struct intel_iommu *),
|
|
||||||
GFP_KERNEL);
|
|
||||||
if (!g_iommus) {
|
|
||||||
ret = -ENOMEM;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = intel_cap_audit(CAP_AUDIT_STATIC_DMAR, NULL);
|
ret = intel_cap_audit(CAP_AUDIT_STATIC_DMAR, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto free_iommu;
|
goto free_iommu;
|
||||||
@ -2950,8 +2912,6 @@ static int __init init_dmars(void)
|
|||||||
intel_pasid_max_id);
|
intel_pasid_max_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_iommus[iommu->seq_id] = iommu;
|
|
||||||
|
|
||||||
intel_iommu_init_qi(iommu);
|
intel_iommu_init_qi(iommu);
|
||||||
|
|
||||||
ret = iommu_init_domains(iommu);
|
ret = iommu_init_domains(iommu);
|
||||||
@ -3077,9 +3037,6 @@ free_iommu:
|
|||||||
free_dmar_iommu(iommu);
|
free_dmar_iommu(iommu);
|
||||||
}
|
}
|
||||||
|
|
||||||
kfree(g_iommus);
|
|
||||||
|
|
||||||
error:
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3483,7 +3440,6 @@ static int intel_iommu_add(struct dmar_drhd_unit *dmaru)
|
|||||||
if (iommu->gcmd & DMA_GCMD_TE)
|
if (iommu->gcmd & DMA_GCMD_TE)
|
||||||
iommu_disable_translation(iommu);
|
iommu_disable_translation(iommu);
|
||||||
|
|
||||||
g_iommus[iommu->seq_id] = iommu;
|
|
||||||
ret = iommu_init_domains(iommu);
|
ret = iommu_init_domains(iommu);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = iommu_alloc_root_entry(iommu);
|
ret = iommu_alloc_root_entry(iommu);
|
||||||
|
Loading…
Reference in New Issue
Block a user