Lines Matching refs:afu
37 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()
88 mutex_lock(&afu->contexts_lock); in cxl_context_init()
90 i = idr_alloc(&ctx->afu->contexts_idr, ctx, 0, in cxl_context_init()
91 ctx->afu->num_procs, GFP_NOWAIT); in cxl_context_init()
93 mutex_unlock(&afu->contexts_lock); in cxl_context_init()
98 ctx->elem = &ctx->afu->spa[i]; in cxl_context_init()
114 if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { in cxl_mmap_fault()
115 area = ctx->afu->psn_phys; in cxl_mmap_fault()
116 if (offset >= ctx->afu->adapter->ps_size) in cxl_mmap_fault()
163 if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { in cxl_context_iomap()
164 if (start + len > ctx->afu->adapter->ps_size) in cxl_context_iomap()
171 if (ctx->afu->current_mode != CXL_MODE_DEDICATED) { in cxl_context_iomap()
173 if ((ctx->master && !ctx->afu->psa) || (!ctx->afu->pp_psa)) { in cxl_context_iomap()
179 if (!ctx->afu->enabled) in cxl_context_iomap()
212 cxl_adapter_link_ok(ctx->afu->adapter)); in __detach_context()
240 void cxl_context_detach_all(struct cxl_afu *afu) in cxl_context_detach_all() argument
245 mutex_lock(&afu->contexts_lock); in cxl_context_detach_all()
246 idr_for_each_entry(&afu->contexts_idr, ctx, tmp) { in cxl_context_detach_all()
264 mutex_unlock(&afu->contexts_lock); in cxl_context_detach_all()
286 mutex_lock(&ctx->afu->contexts_lock); in cxl_context_free()
287 idr_remove(&ctx->afu->contexts_idr, ctx->pe); in cxl_context_free()
288 mutex_unlock(&ctx->afu->contexts_lock); in cxl_context_free()