Lines Matching refs:ctx

35 static inline void _cxl_slbia(struct cxl_context *ctx, struct mm_struct *mm)  in _cxl_slbia()  argument
39 if (!(task = get_pid_task(ctx->pid, PIDTYPE_PID))) { in _cxl_slbia()
41 __func__, pid_nr(ctx->pid)); in _cxl_slbia()
49 ctx->afu->adapter->adapter_num, ctx->afu->slice, ctx->pe); in _cxl_slbia()
51 spin_lock_irqsave(&ctx->sste_lock, flags); in _cxl_slbia()
52 trace_cxl_slbia(ctx); in _cxl_slbia()
53 memset(ctx->sstp, 0, ctx->sst_size); in _cxl_slbia()
54 spin_unlock_irqrestore(&ctx->sste_lock, flags); in _cxl_slbia()
56 cxl_afu_slbia(ctx->afu); in _cxl_slbia()
65 struct cxl_context *ctx; in cxl_slbia_core() local
79 idr_for_each_entry(&afu->contexts_idr, ctx, id) in cxl_slbia_core()
80 _cxl_slbia(ctx, mm); in cxl_slbia_core()
93 int cxl_alloc_sst(struct cxl_context *ctx) in cxl_alloc_sst() argument
101 ctx->sst_size = PAGE_SIZE; in cxl_alloc_sst()
102 ctx->sst_lru = 0; in cxl_alloc_sst()
103 ctx->sstp = (struct cxl_sste *)get_zeroed_page(GFP_KERNEL); in cxl_alloc_sst()
104 if (!ctx->sstp) { in cxl_alloc_sst()
108 pr_devel("SSTP allocated at 0x%p\n", ctx->sstp); in cxl_alloc_sst()
110 vsid = get_kernel_vsid((u64)ctx->sstp, mmu_kernel_ssize) << 12; in cxl_alloc_sst()
115 size = (((u64)ctx->sst_size >> 8) - 1) << CXL_SSTP0_An_SegTableSize_SHIFT; in cxl_alloc_sst()
129 sstp1 |= (u64)ctx->sstp & ea_mask; in cxl_alloc_sst()
133 (u64)ctx->sstp, (u64)ctx->sstp & ESID_MASK, mmu_kernel_ssize, vsid, sstp0, sstp1); in cxl_alloc_sst()
136 ctx->sstp0 = sstp0; in cxl_alloc_sst()
137 ctx->sstp1 = sstp1; in cxl_alloc_sst()