diff options
Diffstat (limited to 'drivers/pci/dmar.c')
-rw-r--r-- | drivers/pci/dmar.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c index c00e387f5b7..1a59423a8ed 100644 --- a/drivers/pci/dmar.c +++ b/drivers/pci/dmar.c | |||
@@ -377,11 +377,18 @@ int __init early_dmar_detect(void) | |||
377 | return (ACPI_SUCCESS(status) ? 1 : 0); | 377 | return (ACPI_SUCCESS(status) ? 1 : 0); |
378 | } | 378 | } |
379 | 379 | ||
380 | struct intel_iommu *alloc_iommu(struct intel_iommu *iommu, | 380 | struct intel_iommu *alloc_iommu(struct dmar_drhd_unit *drhd) |
381 | struct dmar_drhd_unit *drhd) | ||
382 | { | 381 | { |
382 | struct intel_iommu *iommu; | ||
383 | int map_size; | 383 | int map_size; |
384 | u32 ver; | 384 | u32 ver; |
385 | static int iommu_allocated = 0; | ||
386 | |||
387 | iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); | ||
388 | if (!iommu) | ||
389 | return NULL; | ||
390 | |||
391 | iommu->seq_id = iommu_allocated++; | ||
385 | 392 | ||
386 | iommu->reg = ioremap(drhd->reg_base_addr, PAGE_SIZE_4K); | 393 | iommu->reg = ioremap(drhd->reg_base_addr, PAGE_SIZE_4K); |
387 | if (!iommu->reg) { | 394 | if (!iommu->reg) { |