]> www.infradead.org Git - users/dwmw2/linux.git/commit
iommu/arm-smmu-v3: Thread SSID through the arm_smmu_attach_*() interface
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 25 Jun 2024 12:37:38 +0000 (09:37 -0300)
committerWill Deacon <will@kernel.org>
Tue, 2 Jul 2024 14:39:47 +0000 (15:39 +0100)
commit1d5f34f0002f9f56d0ca153022cfdead07d45dc6
treee518124446284fdb3674b3ff0c07865ba5331ef6
parentbe7c90de39fdebdba4f9cce7575b71c6b2506ea0
iommu/arm-smmu-v3: Thread SSID through the arm_smmu_attach_*() interface

Allow creating and managing arm_smmu_mater_domain's with a non-zero SSID
through the arm_smmu_attach_*() family of functions. This triggers ATC
invalidation for the correct SSID in PASID cases and tracks the
per-attachment SSID in the struct arm_smmu_master_domain.

Generalize arm_smmu_attach_remove() to be able to remove SSID's as well by
ensuring the ATC for the PASID is flushed properly.

Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/7-v9-5cd718286059+79186-smmuv3_newapi_p2b_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c