On Wed, 26 Feb 2025 15:30:42 -0300 Ariel D'Alessandro <ariel.dalessandro@xxxxxxxxxxxxx> wrote: > @@ -642,8 +713,15 @@ struct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev) > .iommu_dev = pfdev->dev, > }; > > - mmu->pgtbl_ops = alloc_io_pgtable_ops(ARM_MALI_LPAE, &mmu->pgtbl_cfg, > - mmu); > + if (panfrost_has_hw_feature(pfdev, HW_FEATURE_AARCH64_MMU)) { > + fmt = ARM_64_LPAE_S1; > + mmu->enable = mmu_lpae_s1_enable; > + } else { > + fmt = ARM_MALI_LPAE; > + mmu->enable = mmu_mali_lpae_enable; > + } How about we stick to the legacy pgtable format for all currently supported GPUs, and make this an opt-in property attached to the compatible. This way, we can progressively move away from the legacy format once enough testing has been done, while allowing support for GPUs that can't use the old format because the cachability/shareability configuration is too limited.