Re: [PATCH] iommu/arm-smmu-v3: Simplify stage selection logic

From: Michael Shavit
Date: Thu Aug 17 2023 - 13:08:22 EST


On Fri, Aug 18, 2023 at 12:35 AM Robin Murphy <robin.murphy@xxxxxxx> wrote:
>
> The reason it's like this is because of arm_smmu_enable_nesting(), which
> *is* the additional thing that's going on with the stage selection logic.
>
> Thanks,
> Robin.

Right, but arm_smmu_enable_nesting isn't involved in this computation
at this point in the flow.

arm_smmu_enable_nesting returns early if smmu_domain->smmu isn't set,
and smmu_domain->smmu is only set after arm_smmu_domain_finalise.
So at this point, smmu_domain->stage is being initialized for the
first time. If this code is responsible for handling some special
nesting case, then it's probably not working as intended.