Lines Matching refs:mgr
10 int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id) in lima_ctx_create() argument
27 err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL); in lima_ctx_create()
53 int lima_ctx_free(struct lima_ctx_mgr *mgr, u32 id) in lima_ctx_free() argument
58 mutex_lock(&mgr->lock); in lima_ctx_free()
59 ctx = xa_erase(&mgr->handles, id); in lima_ctx_free()
64 mutex_unlock(&mgr->lock); in lima_ctx_free()
68 struct lima_ctx *lima_ctx_get(struct lima_ctx_mgr *mgr, u32 id) in lima_ctx_get() argument
72 mutex_lock(&mgr->lock); in lima_ctx_get()
73 ctx = xa_load(&mgr->handles, id); in lima_ctx_get()
76 mutex_unlock(&mgr->lock); in lima_ctx_get()
85 void lima_ctx_mgr_init(struct lima_ctx_mgr *mgr) in lima_ctx_mgr_init() argument
87 mutex_init(&mgr->lock); in lima_ctx_mgr_init()
88 xa_init_flags(&mgr->handles, XA_FLAGS_ALLOC); in lima_ctx_mgr_init()
91 void lima_ctx_mgr_fini(struct lima_ctx_mgr *mgr) in lima_ctx_mgr_fini() argument
96 xa_for_each(&mgr->handles, id, ctx) { in lima_ctx_mgr_fini()
100 xa_destroy(&mgr->handles); in lima_ctx_mgr_fini()
101 mutex_destroy(&mgr->lock); in lima_ctx_mgr_fini()