From d740dc5f65964350fbe1c084b1e752240930110c Mon Sep 17 00:00:00 2001 From: Mitchel Humpherys Date: Fri, 12 Feb 2016 14:18:02 -0800 Subject: [PATCH] iommu/arm-smmu: Implement DOMAIN_ATTR_PGTBL_INFO The DOMAIN_ATTR_PGTBL_INFO attribute will be useful in implementing DMA APIs that can leverage the fast page table mapping routines. Implement it. CRs-Fixed: 997751 Change-Id: Id3acec0089b126e7d6ad44d8d322bf473614f716 Signed-off-by: Mitchel Humpherys --- drivers/iommu/arm-smmu.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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;