check if there is a not-present cache present and flush it if there is.

Signed-off-by: Tom Murphy <[email protected]>
---
 drivers/iommu/amd_iommu.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index f7cdd2ab7f11..8ef43224aae0 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -1636,6 +1636,12 @@ static int iommu_map_page(struct protection_domain *dom,
                pte[i] = __pte;
 
        update_domain(dom);
+       if (!dom->updated) {
+               if (unlikely(amd_iommu_np_cache)) {
+                       domain_flush_pages(dom, bus_addr, page_size);
+                       domain_flush_complete(dom);
+               }
+       }
 
        /* Everything flushed out, free pages now */
        free_page_list(freelist);
-- 
2.17.1

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to