iommu_queue_inv_iommu_pages(iommu, address, domid, 0, 1);
}
-#ifdef CONFIG_IOMMU_API
/*
* This function is used to flush the IO/TLB for a given protection domain
* on every IOMMU in the system
spin_unlock_irqrestore(&iommu->lock, flags);
}
}
-#endif
/****************************************************************************
*
return 0;
}
-#ifdef CONFIG_IOMMU_API
static void iommu_unmap_page(struct protection_domain *dom,
unsigned long bus_addr)
{
*pte = 0;
}
-#endif
/*
* This function checks if a specific unity mapping entry is needed for
return id;
}
-#ifdef CONFIG_IOMMU_API
static void domain_id_free(int id)
{
unsigned long flags;
__clear_bit(id, amd_iommu_pd_alloc_bitmap);
write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
}
-#endif
/*
* Used to reserve address ranges in the aperture (e.g. for exclusion
/* Make the driver finally visible to the drivers */
dma_ops = &amd_iommu_dma_ops;
-#ifdef CONFIG_IOMMU_API
register_iommu(&amd_iommu_ops);
-#endif
bus_register_notifier(&pci_bus_type, &device_nb);
*
*****************************************************************************/
-#ifdef CONFIG_IOMMU_API
-
static void cleanup_domain(struct protection_domain *domain)
{
unsigned long flags;
.iova_to_phys = amd_iommu_iova_to_phys,
};
-#endif