Lines Matching refs:iopt
221 rc = iopt_table_enforce_group_resv_regions(&hwpt->ioas->iopt, idev->dev, in iommufd_device_do_attach()
240 rc = iopt_table_add_domain(&hwpt->ioas->iopt, in iommufd_device_do_attach()
256 iopt_remove_reserved_iova(&hwpt->ioas->iopt, idev->dev); in iommufd_device_do_attach()
389 iopt_table_remove_domain(&hwpt->ioas->iopt, in iommufd_device_detach()
395 iopt_remove_reserved_iova(&hwpt->ioas->iopt, idev->dev); in iommufd_device_detach()
415 iopt_remove_access(&access->ioas->iopt, access); in iommufd_access_destroy_object()
464 rc = iopt_add_access(&access->ioas->iopt, access); in iommufd_access_create()
513 void iommufd_access_notify_unmap(struct io_pagetable *iopt, unsigned long iova, in iommufd_access_notify_unmap() argument
517 container_of(iopt, struct iommufd_ioas, iopt); in iommufd_access_notify_unmap()
521 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
522 xa_for_each(&ioas->iopt.access_list, index, access) { in iommufd_access_notify_unmap()
525 xa_unlock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
530 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
532 xa_unlock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
547 struct io_pagetable *iopt = &access->ioas->iopt; in iommufd_access_unpin_pages() local
556 down_read(&iopt->iova_rwsem); in iommufd_access_unpin_pages()
557 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iova) in iommufd_access_unpin_pages()
563 up_read(&iopt->iova_rwsem); in iommufd_access_unpin_pages()
610 struct io_pagetable *iopt = &access->ioas->iopt; in iommufd_access_pin_pages() local
626 down_read(&iopt->iova_rwsem); in iommufd_access_pin_pages()
627 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iova) { in iommufd_access_pin_pages()
655 up_read(&iopt->iova_rwsem); in iommufd_access_pin_pages()
661 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iova) in iommufd_access_pin_pages()
669 up_read(&iopt->iova_rwsem); in iommufd_access_pin_pages()
689 struct io_pagetable *iopt = &access->ioas->iopt; in iommufd_access_rw() local
700 down_read(&iopt->iova_rwsem); in iommufd_access_rw()
701 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iova) { in iommufd_access_rw()
725 up_read(&iopt->iova_rwsem); in iommufd_access_rw()
747 rc = iopt_table_add_domain(&hwpt->ioas->iopt, hwpt->domain); in iommufd_device_selftest_attach()
763 iopt_table_remove_domain(&hwpt->ioas->iopt, hwpt->domain); in iommufd_device_selftest_detach()