[PATCH v1] iommu/amd: flush not present cache in iommu_map_page

From: Tom Murphy
Date: Wed Apr 24 2019 - 12:51:13 EST


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

Signed-off-by: Tom Murphy <tmurphy@xxxxxxxxxx>
---
drivers/iommu/amd_iommu.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index f7cdd2ab7f11..91fe5cb10f50 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -1637,6 +1637,11 @@ static int iommu_map_page(struct protection_domain *dom,

update_domain(dom);

+ if (unlikely(amd_iommu_np_cache && !dom->updated)) {
+ 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