Lines Matching full:viommu
272 struct iommufd_viommu *viommu = veventq->viommu; in iommufd_veventq_abort() local
275 lockdep_assert_held_write(&viommu->veventqs_rwsem); in iommufd_veventq_abort()
283 refcount_dec(&viommu->obj.users); in iommufd_veventq_abort()
292 down_write(&veventq->viommu->veventqs_rwsem); in iommufd_veventq_destroy()
294 up_write(&veventq->viommu->veventqs_rwsem); in iommufd_veventq_destroy()
535 struct iommufd_viommu *viommu; in iommufd_veventq_alloc() local
545 viommu = iommufd_get_viommu(ucmd, cmd->viommu_id); in iommufd_veventq_alloc()
546 if (IS_ERR(viommu)) in iommufd_veventq_alloc()
547 return PTR_ERR(viommu); in iommufd_veventq_alloc()
549 down_write(&viommu->veventqs_rwsem); in iommufd_veventq_alloc()
551 if (iommufd_viommu_find_veventq(viommu, cmd->type)) { in iommufd_veventq_alloc()
564 veventq->viommu = viommu; in iommufd_veventq_alloc()
565 refcount_inc(&viommu->obj.users); in iommufd_veventq_alloc()
567 list_add_tail(&veventq->node, &viommu->veventqs); in iommufd_veventq_alloc()
571 fdno = iommufd_eventq_init(&veventq->common, "[iommufd-viommu-event]", in iommufd_veventq_alloc()
595 up_write(&viommu->veventqs_rwsem); in iommufd_veventq_alloc()
596 iommufd_put_object(ucmd->ictx, &viommu->obj); in iommufd_veventq_alloc()