This series of patches adds a new mappings node to debugfs for tegra-smmu driver. The first five patches are all preparational changes for PATCH-6, based on Thierry's review feedback against v5. Changelog v8: * No changes for PATCH 1-4 * PATCH-5: * * bypassed "group->as == as" to fix KMSG bug reported by Dmitry * PATCH-6: * * changed to use u32 casting for IOVA outputs * * squashed Dmitry's change to list all swgroup names in the same group_soc since they share the same as pointer v7: https://lore.kernel.org/linux-iommu/20211208084732.23363-1-nicolinc@xxxxxxxxxx/T/ * Added "Acked-by" from Thierry to PATCH1,4,5 * No other changes for PATCH1,3,4,5 * PATCH-2: dropped "s/soc/group_soc" change * PATCH-6: * * avoided forward declaration * * dropped castings in pd_pt_index_iova() * * used "'-' : 'S'" for non-secure attribute * * changed multi-line outputs to single-line format v6: https://lore.kernel.org/linux-iommu/20210915043806.GA19185@Asurada-Nvidia/t/ * Added PATCH1-3 for better naming conventions * Added PATCH4-5 to embed previous struct tegra_smmu_group_debug into struct tegra_smmu_group * Dropped parentheses at SMMU_PTE_ATTR_SHIFT * Dropped swgrp->reg print * Replaced ptb_reg contents with as->attr and as->pd_dma * Added "index" and "count" in the PD entries for readability * Removed Dmitry's Tested-by and Reviewed-by for the big change from v5 to v6. v5: https://lore.kernel.org/linux-iommu/20210315203631.24990-1-nicoleotsuka@xxxxxxxxx/ * Fixed a typo in commit message * Split a long line into two lines * Rearranged variable defines by length * Added Tested-by and Reviewed-by from Dmitry v4: https://lore.kernel.org/lkml/20210315033504.23937-1-nicoleotsuka@xxxxxxxxx/ * Changed %d to %u for unsigned variables * Fixed print format mismatch warnings on ARM32 v3: https://lore.kernel.org/linux-iommu/20210315031530.GA15245@Asurada-Nvidia/T/ * Fixed PHYS and IOVA print formats * Changed variables to unsigned int type * Changed the table outputs to be compact v2: https://lore.kernel.org/linux-iommu/20210312010932.GB29926@Asurada-Nvidia/T/ * Expanded mutex range to the entire function * Added as->lock to protect pagetable walkthrough * Replaced devm_kzalloc with devm_kcalloc for group_debug * Added "PTE RANGE" and "SIZE" columns to group contiguous mappings * Dropped as->count check * Added WARN_ON when as->count mismatches pd[pd_index] v1: https://lkml.org/lkml/2020/9/26/70 Nicolin Chen (6): iommu/tegra-smmu: Rename struct iommu_group *group to *grp iommu/tegra-smmu: Rename tegra_smmu_find_group to tegra_smmu_find_group_soc iommu/tegra-smmu: Rename struct tegra_smmu_swgroup *group to *swgrp iommu/tegra-smmu: Use swgrp pointer instead of swgroup id iommu/tegra-smmu: Attach as pointer to tegra_smmu_group iommu/tegra-smmu: Add pagetable mappings to debugfs drivers/iommu/tegra-smmu.c | 345 ++++++++++++++++++++++++++++++++----- 1 file changed, 299 insertions(+), 46 deletions(-) -- 2.17.1