2023-08-19 13:34:00

by Michael Shavit

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

On Fri, Aug 18, 2023 at 12:35 AM Robin Murphy <[email protected]> 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.