@@ -648,15 +648,15 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
648
648
if (share_dom ) {
649
649
dom -> iop = share_dom -> iop ;
650
650
dom -> cfg = share_dom -> cfg ;
651
- dom -> domain .pgsize_bitmap = share_dom -> cfg .pgsize_bitmap ;
651
+ dom -> domain .pgsize_bitmap = share_dom -> domain .pgsize_bitmap ;
652
652
goto update_iova_region ;
653
653
}
654
654
655
655
dom -> cfg = (struct io_pgtable_cfg ) {
656
656
.quirks = IO_PGTABLE_QUIRK_ARM_NS |
657
657
IO_PGTABLE_QUIRK_NO_PERMS |
658
658
IO_PGTABLE_QUIRK_ARM_MTK_EXT ,
659
- .pgsize_bitmap = mtk_iommu_ops .pgsize_bitmap ,
659
+ .pgsize_bitmap = dom -> domain .pgsize_bitmap ,
660
660
.ias = MTK_IOMMU_HAS_FLAG (data -> plat_data , IOVA_34_EN ) ? 34 : 32 ,
661
661
.iommu_dev = data -> dev ,
662
662
};
@@ -675,9 +675,6 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
675
675
return - ENOMEM ;
676
676
}
677
677
678
- /* Update our support page sizes bitmap */
679
- dom -> domain .pgsize_bitmap = dom -> cfg .pgsize_bitmap ;
680
-
681
678
data -> share_dom = dom ;
682
679
683
680
update_iova_region :
@@ -697,6 +694,7 @@ static struct iommu_domain *mtk_iommu_domain_alloc_paging(struct device *dev)
697
694
if (!dom )
698
695
return NULL ;
699
696
mutex_init (& dom -> mutex );
697
+ dom -> domain .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M ;
700
698
701
699
return & dom -> domain ;
702
700
}
@@ -1019,7 +1017,6 @@ static const struct iommu_ops mtk_iommu_ops = {
1019
1017
.device_group = mtk_iommu_device_group ,
1020
1018
.of_xlate = mtk_iommu_of_xlate ,
1021
1019
.get_resv_regions = mtk_iommu_get_resv_regions ,
1022
- .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M ,
1023
1020
.owner = THIS_MODULE ,
1024
1021
.default_domain_ops = & (const struct iommu_domain_ops ) {
1025
1022
.attach_dev = mtk_iommu_attach_device ,
0 commit comments