26.09.2020 23:47, 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;
>>> +
>>> + pde_count+
27.09.2020 00:24, Dmitry Osipenko пишет:
> 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])
>> +
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
Hi Dmitry,
Thank you for the review.
On Sat, Sep 26, 2020 at 05:48:54PM +0300, Dmitry Osipenko wrote:
> 26.09.2020 11:07, Nicolin Chen пишет:
> ...
> > +static int tegra_smmu_mappings_show(struct seq_file *s, void *data)
> > +{
> > + struct tegra_smmu_group_debug *group_debug = s->private;
> >
26.09.2020 11:07, Nicolin Chen пишет:
...
> +static int tegra_smmu_mappings_show(struct seq_file *s, void *data)
> +{
> + struct tegra_smmu_group_debug *group_debug = s->private;
> + const struct tegra_smmu_swgroup *group;
> + struct tegra_smmu_as *as;
> + struct tegra_smmu *smmu;
>
This patch dumps all active mapping entries from pagetable
to a debugfs directory named "mappings".
Ataching an example:
SWGROUP: hc
ASID: 0
reg: 0x250
PTB_ASID: 0xe00bb880
as->pd_dma: 0xbb88
{
[1023] 0xf00bb882 (1)
{
PDE ATTR PHYS IOVA