iommu/io-pgtable-arm-v7s: Convert to IOMMU API TLB sync
[platform/kernel/linux-rpi.git] / drivers / iommu / mtk_iommu.c
index bd515be..d0c8dfb 100644 (file)
@@ -391,6 +391,11 @@ static size_t mtk_iommu_unmap(struct iommu_domain *domain,
        return unmapsz;
 }
 
+static void mtk_iommu_iotlb_sync(struct iommu_domain *domain)
+{
+       mtk_iommu_tlb_sync(mtk_iommu_get_m4u_data());
+}
+
 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain,
                                          dma_addr_t iova)
 {
@@ -490,6 +495,8 @@ static struct iommu_ops mtk_iommu_ops = {
        .map            = mtk_iommu_map,
        .unmap          = mtk_iommu_unmap,
        .map_sg         = default_iommu_map_sg,
+       .flush_iotlb_all = mtk_iommu_iotlb_sync,
+       .iotlb_sync     = mtk_iommu_iotlb_sync,
        .iova_to_phys   = mtk_iommu_iova_to_phys,
        .add_device     = mtk_iommu_add_device,
        .remove_device  = mtk_iommu_remove_device,