Lines Matching refs:afu

39 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master)  in cxl_context_init()  argument
43 ctx->afu = afu; in cxl_context_init()
96 mutex_lock(&afu->contexts_lock); in cxl_context_init()
98 i = idr_alloc(&ctx->afu->contexts_idr, ctx, 0, in cxl_context_init()
99 ctx->afu->num_procs, GFP_NOWAIT); in cxl_context_init()
101 mutex_unlock(&afu->contexts_lock); in cxl_context_init()
107 ctx->elem = &ctx->afu->native->spa[i]; in cxl_context_init()
118 cxl_afu_get(afu); in cxl_context_init()
142 if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { in cxl_mmap_fault()
143 area = ctx->afu->psn_phys; in cxl_mmap_fault()
144 if (offset >= ctx->afu->adapter->ps_size) in cxl_mmap_fault()
191 if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { in cxl_context_iomap()
192 if (start + len > ctx->afu->adapter->ps_size) in cxl_context_iomap()
200 if (ctx->master && !ctx->afu->psa) { in cxl_context_iomap()
206 if (!ctx->afu->enabled) in cxl_context_iomap()
214 if ((ctx->master && !ctx->afu->psa) || (!ctx->afu->pp_psa)) { in cxl_context_iomap()
220 if (!ctx->afu->enabled) in cxl_context_iomap()
253 cxl_ops->link_ok(ctx->afu->adapter, ctx->afu)); in __detach_context()
269 cxl_adapter_context_put(ctx->afu->adapter); in __detach_context()
301 void cxl_context_detach_all(struct cxl_afu *afu) in cxl_context_detach_all() argument
306 mutex_lock(&afu->contexts_lock); in cxl_context_detach_all()
307 idr_for_each_entry(&afu->contexts_idr, ctx, tmp) { in cxl_context_detach_all()
325 mutex_unlock(&afu->contexts_lock); in cxl_context_detach_all()
341 cxl_afu_put(ctx->afu); in reclaim_ctx()
350 mutex_lock(&ctx->afu->contexts_lock); in cxl_context_free()
351 idr_remove(&ctx->afu->contexts_idr, ctx->pe); in cxl_context_free()
352 mutex_unlock(&ctx->afu->contexts_lock); in cxl_context_free()