From: Dmitry Osipenko <digetx@gmail.com> To: Nicolin Chen <nicoleotsuka@gmail.com>, thierry.reding@gmail.com, joro@8bytes.org, krzk@kernel.org Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, jonathanh@nvidia.com Subject: Re: [PATCH 5/5] iommu/tegra-smmu: Add pagetable mappings to debugfs Date: Sun, 27 Sep 2020 00:24:54 +0300 [thread overview] Message-ID: <0451e362-30eb-2ba2-33f1-e9ab3972cada@gmail.com> (raw) In-Reply-To: <20200926080719.6822-6-nicoleotsuka@gmail.com> 26.09.2020 11:07, Nicolin Chen пишет: ... > + for (pd_index = 0; pd_index < SMMU_NUM_PDE; pd_index++) { > + struct page *pt; > + u32 *addr; > + > + if (!as->count[pd_index] || !pd[pd_index]) > + continue; I guess the idea of this patch is to print out the hardware state, isn't it? Hence the as->count shouldn't be checked here. > + pde_count++; > + pte_count += as->count[pd_index]; > + seq_printf(s, "\t[%d] 0x%x (%d)\n", > + pd_index, pd[pd_index], as->count[pd_index]); > + pt = as->pts[pd_index]; > + addr = page_address(pt); > + > + seq_puts(s, "\t{\n"); > + seq_printf(s, "\t\t%-5s %-4s %12s %12s\n", "PDE", "ATTR", "PHYS", "IOVA"); > + for (pt_index = 0; pt_index < SMMU_NUM_PTE; pt_index++) { > + u64 iova; > + > + if (!addr[pt_index]) > + continue; > + > + iova = ((dma_addr_t)pd_index & (SMMU_NUM_PDE - 1)) << SMMU_PDE_SHIFT; > + iova |= ((dma_addr_t)pt_index & (SMMU_NUM_PTE - 1)) << SMMU_PTE_SHIFT; > + > + seq_printf(s, "\t\t#%-4d 0x%-4x 0x%-12llx 0x%-12llx\n", > + pt_index, addr[pt_index] >> SMMU_PTE_ATTR_SHIFT, > + SMMU_PFN_PHYS(addr[pt_index] & ~SMMU_PTE_ATTR), iova); > Would be nice if you could improve the output formatting by printing out contiguous ranges that have the same ATTRs, otherwise it could be a bit too large and unpractical output in a case if lots of pages are mapped.
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com> To: Nicolin Chen <nicoleotsuka@gmail.com>, thierry.reding@gmail.com, joro@8bytes.org, krzk@kernel.org Cc: linux-tegra@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, jonathanh@nvidia.com Subject: Re: [PATCH 5/5] iommu/tegra-smmu: Add pagetable mappings to debugfs Date: Sun, 27 Sep 2020 00:24:54 +0300 [thread overview] Message-ID: <0451e362-30eb-2ba2-33f1-e9ab3972cada@gmail.com> (raw) In-Reply-To: <20200926080719.6822-6-nicoleotsuka@gmail.com> 26.09.2020 11:07, Nicolin Chen пишет: ... > + for (pd_index = 0; pd_index < SMMU_NUM_PDE; pd_index++) { > + struct page *pt; > + u32 *addr; > + > + if (!as->count[pd_index] || !pd[pd_index]) > + continue; I guess the idea of this patch is to print out the hardware state, isn't it? Hence the as->count shouldn't be checked here. > + pde_count++; > + pte_count += as->count[pd_index]; > + seq_printf(s, "\t[%d] 0x%x (%d)\n", > + pd_index, pd[pd_index], as->count[pd_index]); > + pt = as->pts[pd_index]; > + addr = page_address(pt); > + > + seq_puts(s, "\t{\n"); > + seq_printf(s, "\t\t%-5s %-4s %12s %12s\n", "PDE", "ATTR", "PHYS", "IOVA"); > + for (pt_index = 0; pt_index < SMMU_NUM_PTE; pt_index++) { > + u64 iova; > + > + if (!addr[pt_index]) > + continue; > + > + iova = ((dma_addr_t)pd_index & (SMMU_NUM_PDE - 1)) << SMMU_PDE_SHIFT; > + iova |= ((dma_addr_t)pt_index & (SMMU_NUM_PTE - 1)) << SMMU_PTE_SHIFT; > + > + seq_printf(s, "\t\t#%-4d 0x%-4x 0x%-12llx 0x%-12llx\n", > + pt_index, addr[pt_index] >> SMMU_PTE_ATTR_SHIFT, > + SMMU_PFN_PHYS(addr[pt_index] & ~SMMU_PTE_ATTR), iova); > Would be nice if you could improve the output formatting by printing out contiguous ranges that have the same ATTRs, otherwise it could be a bit too large and unpractical output in a case if lots of pages are mapped. _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2020-09-26 21:24 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-26 8:07 [PATCH 0/5] iommu/tegra-smmu: Adding PCI support and mappings debugfs node Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-26 8:07 ` [PATCH 1/5] iommu/tegra-smmu: Unwrap tegra_smmu_group_get Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-28 7:13 ` Thierry Reding 2020-09-28 7:13 ` Thierry Reding 2020-09-28 19:33 ` Nicolin Chen 2020-09-28 19:33 ` Nicolin Chen 2020-09-26 8:07 ` [PATCH 2/5] iommu/tegra-smmu: Expend mutex protection range Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-26 8:07 ` [PATCH 3/5] iommu/tegra-smmu: Use iommu_fwspec in .probe_/.attach_device() Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-26 14:48 ` Dmitry Osipenko 2020-09-26 14:48 ` Dmitry Osipenko 2020-09-26 20:42 ` Nicolin Chen 2020-09-26 20:42 ` Nicolin Chen 2020-09-28 7:29 ` Thierry Reding 2020-09-28 7:29 ` Thierry Reding 2020-09-28 7:52 ` Thierry Reding 2020-09-28 7:52 ` Thierry Reding 2020-09-28 22:18 ` Nicolin Chen 2020-09-28 22:18 ` Nicolin Chen 2020-09-29 4:06 ` Dmitry Osipenko 2020-09-29 4:06 ` Dmitry Osipenko 2020-09-29 5:36 ` Nicolin Chen 2020-09-29 5:36 ` Nicolin Chen 2020-09-26 8:07 ` [PATCH 4/5] iommu/tegra-smmu: Add PCI support Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-26 22:18 ` Dmitry Osipenko 2020-09-26 22:18 ` Dmitry Osipenko 2020-09-28 22:31 ` Nicolin Chen 2020-09-28 22:31 ` Nicolin Chen 2020-09-28 7:55 ` Thierry Reding 2020-09-28 7:55 ` Thierry Reding 2020-09-28 22:33 ` Nicolin Chen 2020-09-28 22:33 ` Nicolin Chen 2020-09-26 8:07 ` [PATCH 5/5] iommu/tegra-smmu: Add pagetable mappings to debugfs Nicolin Chen 2020-09-26 8:07 ` Nicolin Chen 2020-09-26 14:48 ` Dmitry Osipenko 2020-09-26 14:48 ` Dmitry Osipenko 2020-09-26 20:47 ` Nicolin Chen 2020-09-26 20:47 ` Nicolin Chen 2020-09-26 21:41 ` Dmitry Osipenko 2020-09-26 21:41 ` Dmitry Osipenko 2020-09-26 21:24 ` Dmitry Osipenko [this message] 2020-09-26 21:24 ` Dmitry Osipenko 2020-09-26 21:37 ` Dmitry Osipenko 2020-09-26 21:37 ` Dmitry Osipenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=0451e362-30eb-2ba2-33f1-e9ab3972cada@gmail.com \ --to=digetx@gmail.com \ --cc=iommu@lists.linux-foundation.org \ --cc=jonathanh@nvidia.com \ --cc=joro@8bytes.org \ --cc=krzk@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=nicoleotsuka@gmail.com \ --cc=thierry.reding@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.