summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/amd_iommu.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index 0c4319b1301..5141f5608c5 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -530,10 +530,12 @@ static void flush_all_domains_on_iommu(struct amd_iommu *iommu)
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)