[PATCH v8 02/14] iommu/arm-smmu-v3: Start building a generic PASID layer
Nicolin Chen
nicolinc at nvidia.com
Mon Jun 3 22:07:11 PDT 2024
On Mon, Jun 03, 2024 at 09:15:47PM -0300, Jason Gunthorpe wrote:
> Add arm_smmu_set_pasid()/arm_smmu_remove_pasid() which are to be used by
> callers that already constructed the arm_smmu_cd they wish to program.
>
> These functions will encapsulate the shared logic to setup a CD entry that
> will be shared by SVA and S1 domain cases.
>
> Prior fixes had already moved most of this logic up into
> __arm_smmu_sva_bind(), move it to it's final home.
>
> Following patches will relieve some of the remaining SVA restrictions:
>
> - The RID domain is a S1 domain and has already setup the STE to point to
> the CD table
> - The programmed PASID is the mm_get_enqcmd_pasid()
> - Nothing changes while SVA is running (sva_enable)
>
> SVA invalidation will still iterate over the S1 domain's master list,
> later patches will resolve that.
>
> Tested-by: Nicolin Chen <nicolinc at nvidia.com>
> Tested-by: Shameer Kolothum <shameerali.kolothum.thodi at huawei.com>
> Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
Reviewed-by: Nicolin Chen <nicolinc at nvidia.com>
More information about the linux-arm-kernel
mailing list