diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index cec4ef4c325d..f38eb8e1614c 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -2924,6 +2924,17 @@ static int arm_smmu_domain_get_attr(struct iommu_domain *domain, & (1 << DOMAIN_ATTR_FAST)); ret = 0; break; + case DOMAIN_ATTR_PGTBL_INFO: { + struct iommu_pgtbl_info *info = data; + + if (!(smmu_domain->attributes & (1 << DOMAIN_ATTR_FAST))) { + ret = -ENODEV; + break; + } + info->pmds = smmu_domain->pgtbl_cfg.av8l_fast_cfg.pmds; + ret = 0; + break; + } default: ret = -ENODEV; break;