iommu: Add mm_get_enqcmd_pasid() helper function
authorTina Zhang <tina.zhang@intel.com>
Fri, 27 Oct 2023 00:05:22 +0000 (08:05 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 12 Dec 2023 09:11:29 +0000 (10:11 +0100)
commit2396046d75d3c0b2cfead852a77efd023f8539dc
treec4a2ebb4f3acffc8c4b21cc59bd7ef8f5213a712
parent5c79705d7ce8986036c73e89024d189d4f9df1ff
iommu: Add mm_get_enqcmd_pasid() helper function

mm_get_enqcmd_pasid() should be used by architecture code and closely
related to learn the PASID value that the x86 ENQCMD operation should
use for the mm.

For the moment SMMUv3 uses this without any connection to ENQCMD, it
will be cleaned up similar to how the prior patch made VT-d use the
PASID argument of set_dev_pasid().

The motivation is to replace mm->pasid with an iommu private data
structure that is introduced in a later patch.

Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20231027000525.1278806-4-tina.zhang@intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
arch/x86/kernel/traps.c
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
drivers/iommu/iommu-sva.c
include/linux/iommu.h