[PATCH 5.6 049/126] iommu/amd: Call domain_flush_complete() in update_domain()

From: Greg Kroah-Hartman
Date: Tue May 26 2020 - 15:20:24 EST


From: Joerg Roedel <jroedel@xxxxxxx>

[ Upstream commit f44a4d7e4f1cdef73c90b1dc749c4d8a7372a8eb ]

The update_domain() function is expected to also inform the hardware
about domain changes. This needs a COMPLETION_WAIT command to be sent
to all IOMMUs which use the domain.

Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
Tested-by: Qian Cai <cai@xxxxxx>
Link: https://lore.kernel.org/r/20200504125413.16798-4-joro@xxxxxxxxxx
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/iommu/amd_iommu.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 18c995a16d80..2aa46a6de172 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -2345,6 +2345,7 @@ static void update_domain(struct protection_domain *domain)

/* Flush domain TLB(s) and wait for completion */
domain_flush_tlb_pde(domain);
+ domain_flush_complete(domain);
}

int __init amd_iommu_init_api(void)
--
2.25.1