From: Omer Peleg <o...@cs.technion.ac.il>

Change flush_unmaps() to correctly pass iommu_flush_iotlb_psi()
dma addresses.  (Intel mm and dma have the same size for pages
at the moment, but this usage improves consistency.)

Signed-off-by: Omer Peleg <o...@cs.technion.ac.il>
[m...@cs.technion.ac.il: rebased and reworded the commit message]
Signed-off-by: Adam Morrison <m...@cs.technion.ac.il>
---
 drivers/iommu/intel-iommu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index be94444..576a29a 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3548,7 +3548,8 @@ static void flush_unmaps(struct deferred_flush_data 
*flush_data)
                        /* On real hardware multiple invalidations are 
expensive */
                        if (cap_caching_mode(iommu->cap))
                                iommu_flush_iotlb_psi(iommu, domain,
-                                       iova->pfn_lo, iova_size(iova),
+                                       mm_to_dma_pfn(iova->pfn_lo),
+                                       mm_to_dma_pfn(iova_size(iova)),
                                        !freelist, 0);
                        else {
                                mask = ilog2(mm_to_dma_pfn(iova_size(iova)));
-- 
1.9.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to