Lines Matching refs:active_allocator

75 static struct ioasid_allocator_data *active_allocator = &default_allocator;  variable
158 WARN_ON(active_allocator != &default_allocator); in ioasid_register_allocator()
160 if (xa_empty(&active_allocator->xa)) { in ioasid_register_allocator()
161 rcu_assign_pointer(active_allocator, ia_data); in ioasid_register_allocator()
232 rcu_assign_pointer(active_allocator, &default_allocator); in ioasid_unregister_allocator()
233 } else if (pallocator == active_allocator) { in ioasid_unregister_allocator()
234 rcu_assign_pointer(active_allocator, in ioasid_unregister_allocator()
274 ioasid_data = xa_load(&active_allocator->xa, ioasid); in ioasid_set_data()
323 adata = active_allocator->flags & IOASID_ALLOCATOR_CUSTOM ? active_allocator->ops->pdata : data; in ioasid_alloc()
324 id = active_allocator->ops->alloc(min, max, adata); in ioasid_alloc()
326 pr_err("Failed ASID allocation %lu\n", active_allocator->flags); in ioasid_alloc()
330 if ((active_allocator->flags & IOASID_ALLOCATOR_CUSTOM) && in ioasid_alloc()
331 xa_alloc(&active_allocator->xa, &id, data, XA_LIMIT(id, id), GFP_ATOMIC)) { in ioasid_alloc()
334 active_allocator->ops->free(id, active_allocator->ops->pdata); in ioasid_alloc()
357 ioasid_data = xa_load(&active_allocator->xa, ioasid); in ioasid_free()
363 active_allocator->ops->free(ioasid, active_allocator->ops->pdata); in ioasid_free()
365 if (active_allocator->flags & IOASID_ALLOCATOR_CUSTOM) { in ioasid_free()
366 ioasid_data = xa_erase(&active_allocator->xa, ioasid); in ioasid_free()
397 idata = rcu_dereference(active_allocator); in ioasid_find()