This patch reimplementes the amd_iommu_flush_all_domains
function to use the global protection domain list instead
of flushing every domain on every IOMMU.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
void amd_iommu_flush_all_domains(void)
{
- struct amd_iommu *iommu;
+ struct protection_domain *domain;
- for_each_iommu(iommu)
- flush_all_domains_on_iommu(iommu);
+ list_for_each_entry(domain, &amd_iommu_pd_list, list) {
+ iommu_flush_tlb_pde(domain);
+ iommu_flush_complete(domain);
+ }
}
static void flush_all_devices_for_iommu(struct amd_iommu *iommu)