diff options
author | Jason Gunthorpe <jgg@nvidia.com> | 2023-03-01 15:30:22 -0400 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2023-03-06 10:51:57 -0400 |
commit | 7e7ec8a5692105450bbfde8c310af606e216add0 (patch) | |
tree | aa054e8c08d0bd661b9adb42bb579c70d6524a71 /drivers/iommu/iommufd/iommufd_private.h | |
parent | 25cde97d953208bca6c2a0556b3b3d5bda4472a0 (diff) | |
download | linux-stable-7e7ec8a5692105450bbfde8c310af606e216add0.tar.gz linux-stable-7e7ec8a5692105450bbfde8c310af606e216add0.tar.bz2 linux-stable-7e7ec8a5692105450bbfde8c310af606e216add0.zip |
iommufd: Move iommufd_device to iommufd_private.h
hw_pagetable.c will need this in the next patches.
Link: https://lore.kernel.org/r/5-v3-ae9c2975a131+2e1e8-iommufd_hwpt_jgg@nvidia.com
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/iommu/iommufd/iommufd_private.h')
-rw-r--r-- | drivers/iommu/iommufd/iommufd_private.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/iommu/iommufd/iommufd_private.h b/drivers/iommu/iommufd/iommufd_private.h index 9d7f71510ca1..84fe19a19546 100644 --- a/drivers/iommu/iommufd/iommufd_private.h +++ b/drivers/iommu/iommufd/iommufd_private.h @@ -12,6 +12,7 @@ struct iommu_domain; struct iommu_group; struct iommu_option; +struct iommufd_device; struct iommufd_ctx { struct file *file; @@ -257,6 +258,23 @@ iommufd_hw_pagetable_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas, struct device *dev); void iommufd_hw_pagetable_destroy(struct iommufd_object *obj); +/* + * A iommufd_device object represents the binding relationship between a + * consuming driver and the iommufd. These objects are created/destroyed by + * external drivers, not by userspace. + */ +struct iommufd_device { + struct iommufd_object obj; + struct iommufd_ctx *ictx; + struct iommufd_hw_pagetable *hwpt; + /* Head at iommufd_hw_pagetable::devices */ + struct list_head devices_item; + /* always the physical device */ + struct device *dev; + struct iommu_group *group; + bool enforce_cache_coherency; +}; + void iommufd_device_destroy(struct iommufd_object *obj); struct iommufd_access { |