]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iommu/msm: Remove ops->pgsize_bitmap
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 27 Jun 2025 13:02:10 +0000 (10:02 -0300)
committerJoerg Roedel <joerg.roedel@amd.com>
Fri, 27 Jun 2025 15:34:10 +0000 (17:34 +0200)
This driver just uses a constant, put it in domain_alloc_paging and use
the domain's value instead of ops during finalise.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/0-v1-662aad101e51+45-iommu_rm_ops_pgsize_msm_jgg@nvidia.com
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
drivers/iommu/msm_iommu.c

index 2769e4544038c1aacd8e03fdc0dc425382a47813..43a61ba021a51233ff29776209c2bbb90d29b393 100644 (file)
@@ -312,6 +312,8 @@ static struct iommu_domain *msm_iommu_domain_alloc_paging(struct device *dev)
 
        INIT_LIST_HEAD(&priv->list_attached);
 
+       priv->domain.pgsize_bitmap = MSM_IOMMU_PGSIZES;
+
        priv->domain.geometry.aperture_start = 0;
        priv->domain.geometry.aperture_end   = (1ULL << 32) - 1;
        priv->domain.geometry.force_aperture = true;
@@ -339,7 +341,7 @@ static int msm_iommu_domain_config(struct msm_priv *priv)
        spin_lock_init(&priv->pgtlock);
 
        priv->cfg = (struct io_pgtable_cfg) {
-               .pgsize_bitmap = msm_iommu_ops.pgsize_bitmap,
+               .pgsize_bitmap = priv->domain.pgsize_bitmap,
                .ias = 32,
                .oas = 32,
                .tlb = &msm_iommu_flush_ops,
@@ -352,8 +354,6 @@ static int msm_iommu_domain_config(struct msm_priv *priv)
                return -EINVAL;
        }
 
-       msm_iommu_ops.pgsize_bitmap = priv->cfg.pgsize_bitmap;
-
        return 0;
 }
 
@@ -692,7 +692,6 @@ static struct iommu_ops msm_iommu_ops = {
        .domain_alloc_paging = msm_iommu_domain_alloc_paging,
        .probe_device = msm_iommu_probe_device,
        .device_group = generic_device_group,
-       .pgsize_bitmap = MSM_IOMMU_PGSIZES,
        .of_xlate = qcom_iommu_of_xlate,
        .default_domain_ops = &(const struct iommu_domain_ops) {
                .attach_dev     = msm_iommu_attach_dev,