x86/amd-iommu: Reimplement amd_iommu_flush_all_domains()

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>
This commit is contained in:
Joerg Roedel
2009-11-20 16:48:58 +01:00
parent aeb26f5533
commit e3306664eb

View File

@@ -530,10 +530,12 @@ static void flush_all_domains_on_iommu(struct amd_iommu *iommu)
void amd_iommu_flush_all_domains(void) void amd_iommu_flush_all_domains(void)
{ {
struct amd_iommu *iommu; struct protection_domain *domain;
for_each_iommu(iommu) list_for_each_entry(domain, &amd_iommu_pd_list, list) {
flush_all_domains_on_iommu(iommu); iommu_flush_tlb_pde(domain);
iommu_flush_complete(domain);
}
} }
static void flush_all_devices_for_iommu(struct amd_iommu *iommu) static void flush_all_devices_for_iommu(struct amd_iommu *iommu)