]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm: Add structure to keep sva information
authorTina Zhang <tina.zhang@intel.com>
Fri, 27 Oct 2023 00:05:23 +0000 (08:05 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 12 Dec 2023 09:11:30 +0000 (10:11 +0100)
Introduce iommu_mm_data structure to keep sva information (pasid and the
related sva domains). Add iommu_mm pointer, pointing to an instance of
iommu_mm_data structure, to mm.

Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
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-5-tina.zhang@intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
include/linux/iommu.h
include/linux/mm_types.h

index 4fb239c6ca8d5beb6b9e2e8c9fd0eab60b7d0abd..f7b1b469e98d64ec4cfe0774145b2e9984599819 100644 (file)
@@ -812,6 +812,11 @@ struct iommu_sva {
        struct iommu_domain             *domain;
 };
 
+struct iommu_mm_data {
+       u32                     pasid;
+       struct list_head        sva_domains;
+};
+
 int iommu_fwspec_init(struct device *dev, struct fwnode_handle *iommu_fwnode,
                      const struct iommu_ops *ops);
 void iommu_fwspec_free(struct device *dev);
index 41f248608dd98b7e82275492a1af77be467f9110..0b4314fab4787f4c9c093100641cc76f0ac48625 100644 (file)
@@ -727,6 +727,7 @@ struct mm_cid {
 #endif
 
 struct kioctx_table;
+struct iommu_mm_data;
 struct mm_struct {
        struct {
                /*
@@ -940,6 +941,7 @@ struct mm_struct {
 
 #ifdef CONFIG_IOMMU_MM_DATA
                u32 pasid;
+               struct iommu_mm_data *iommu_mm;
 #endif
 #ifdef CONFIG_KSM
                /*