Lines Matching refs:pasid_array
56 struct xarray pasid_array; member
1016 xa_init(&group->pasid_array); in iommu_group_alloc()
3139 !xa_empty(&group->pasid_array)) { in iommu_device_use_default_domain()
3169 if (!WARN_ON(!group->owner_cnt || !xa_empty(&group->pasid_array))) in iommu_device_unuse_default_domain()
3205 !xa_empty(&group->pasid_array)) in __iommu_take_dma_ownership()
3291 !xa_empty(&group->pasid_array))) in __iommu_release_dma_ownership()
3470 ret = xa_insert(&group->pasid_array, pasid, XA_ZERO_ENTRY, GFP_KERNEL); in iommu_attach_device_pasid()
3476 xa_release(&group->pasid_array, pasid); in iommu_attach_device_pasid()
3486 WARN_ON(xa_is_err(xa_store(&group->pasid_array, in iommu_attach_device_pasid()
3535 curr = xa_cmpxchg(&group->pasid_array, pasid, NULL, in iommu_replace_device_pasid()
3547 xa_release(&group->pasid_array, pasid); in iommu_replace_device_pasid()
3577 WARN_ON(xa_is_err(xa_store(&group->pasid_array, in iommu_replace_device_pasid()
3603 xa_erase(&group->pasid_array, pasid); in iommu_detach_device_pasid()
3655 xa_lock(&group->pasid_array); in iommu_attach_handle_get()
3656 entry = xa_load(&group->pasid_array, pasid); in iommu_attach_handle_get()
3664 xa_unlock(&group->pasid_array); in iommu_attach_handle_get()
3697 ret = xa_insert(&group->pasid_array, in iommu_attach_group_handle()
3704 xa_release(&group->pasid_array, IOMMU_NO_PASID); in iommu_attach_group_handle()
3714 WARN_ON(xa_is_err(xa_store(&group->pasid_array, in iommu_attach_group_handle()
3736 xa_erase(&group->pasid_array, IOMMU_NO_PASID); in iommu_detach_group_handle()
3769 ret = xa_reserve(&group->pasid_array, IOMMU_NO_PASID, GFP_KERNEL); in iommu_replace_group_handle()
3777 curr = xa_store(&group->pasid_array, IOMMU_NO_PASID, entry, GFP_KERNEL); in iommu_replace_group_handle()
3784 xa_release(&group->pasid_array, IOMMU_NO_PASID); in iommu_replace_group_handle()