mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
iommu/mtk: Remove iommu_ops pgsize_bitmap
This driver just uses a constant, put it in domain_alloc_paging and use the domain's value instead of ops during finalise. Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Tested-by: Nicolin Chen <nicolinc@nvidia.com> Link: https://lore.kernel.org/r/5-v2-68a2e1ba507c+1fb-iommu_rm_ops_pgsize_jgg@nvidia.com Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
cf39047e46
commit
b155e26df5
|
|
@ -648,7 +648,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
|
|||
if (share_dom) {
|
||||
dom->iop = share_dom->iop;
|
||||
dom->cfg = share_dom->cfg;
|
||||
dom->domain.pgsize_bitmap = share_dom->cfg.pgsize_bitmap;
|
||||
dom->domain.pgsize_bitmap = share_dom->domain.pgsize_bitmap;
|
||||
goto update_iova_region;
|
||||
}
|
||||
|
||||
|
|
@ -656,7 +656,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
|
|||
.quirks = IO_PGTABLE_QUIRK_ARM_NS |
|
||||
IO_PGTABLE_QUIRK_NO_PERMS |
|
||||
IO_PGTABLE_QUIRK_ARM_MTK_EXT,
|
||||
.pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap,
|
||||
.pgsize_bitmap = dom->domain.pgsize_bitmap,
|
||||
.ias = MTK_IOMMU_HAS_FLAG(data->plat_data, IOVA_34_EN) ? 34 : 32,
|
||||
.iommu_dev = data->dev,
|
||||
};
|
||||
|
|
@ -675,9 +675,6 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* Update our support page sizes bitmap */
|
||||
dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap;
|
||||
|
||||
data->share_dom = dom;
|
||||
|
||||
update_iova_region:
|
||||
|
|
@ -697,6 +694,7 @@ static struct iommu_domain *mtk_iommu_domain_alloc_paging(struct device *dev)
|
|||
if (!dom)
|
||||
return NULL;
|
||||
mutex_init(&dom->mutex);
|
||||
dom->domain.pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M;
|
||||
|
||||
return &dom->domain;
|
||||
}
|
||||
|
|
@ -1019,7 +1017,6 @@ static const struct iommu_ops mtk_iommu_ops = {
|
|||
.device_group = mtk_iommu_device_group,
|
||||
.of_xlate = mtk_iommu_of_xlate,
|
||||
.get_resv_regions = mtk_iommu_get_resv_regions,
|
||||
.pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
|
||||
.owner = THIS_MODULE,
|
||||
.default_domain_ops = &(const struct iommu_domain_ops) {
|
||||
.attach_dev = mtk_iommu_attach_device,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user