Lines Matching full:viommu
39 /* Caller should xa_lock(&viommu->vdevs) to protect the return value */
40 struct device *iommufd_viommu_find_dev(struct iommufd_viommu *viommu, in iommufd_viommu_find_dev() argument
45 lockdep_assert_held(&viommu->vdevs.xa_lock); in iommufd_viommu_find_dev()
47 vdev = xa_load(&viommu->vdevs, vdev_id); in iommufd_viommu_find_dev()
52 /* Return -ENOENT if device is not associated to the vIOMMU */
53 int iommufd_viommu_get_vdev_id(struct iommufd_viommu *viommu, in iommufd_viommu_get_vdev_id() argument
63 xa_lock(&viommu->vdevs); in iommufd_viommu_get_vdev_id()
64 xa_for_each(&viommu->vdevs, index, vdev) { in iommufd_viommu_get_vdev_id()
71 xa_unlock(&viommu->vdevs); in iommufd_viommu_get_vdev_id()
80 int iommufd_viommu_report_event(struct iommufd_viommu *viommu, in iommufd_viommu_report_event() argument
91 down_read(&viommu->veventqs_rwsem); in iommufd_viommu_report_event()
93 veventq = iommufd_viommu_find_veventq(viommu, type); in iommufd_viommu_report_event()
119 up_read(&viommu->veventqs_rwsem); in iommufd_viommu_report_event()