Lines Matching defs:vinst
173 static void dump_fifo(struct vas_instance *vinst, void *entry)
175 unsigned long *end = vinst->fault_fifo + vinst->fault_fifo_size;
179 pr_err("Fault fifo size %d, Max crbs %d\n", vinst->fault_fifo_size,
180 vinst->fault_fifo_size / CRB_SIZE);
212 struct vas_instance *vinst = data;
241 spin_lock_irqsave(&vinst->fault_lock, flags);
248 fifo = vinst->fault_fifo + (vinst->fault_crbs * CRB_SIZE);
253 vinst->fifo_in_progress = 0;
254 spin_unlock_irqrestore(&vinst->fault_lock, flags);
258 spin_unlock_irqrestore(&vinst->fault_lock, flags);
259 vinst->fault_crbs++;
260 if (vinst->fault_crbs == (vinst->fault_fifo_size / CRB_SIZE))
261 vinst->fault_crbs = 0;
269 vas_return_credit(vinst->fault_win, false);
272 vinst->vas_id, vinst->fault_fifo, fifo,
273 vinst->fault_crbs);
276 window = vas_pswid_to_window(vinst,
288 dump_fifo(vinst, (void *)entry);
290 vinst->vas_id, vinst->fault_fifo, fifo,
292 vinst->fault_crbs);
308 struct vas_instance *vinst = dev_id;
320 spin_lock_irqsave(&vinst->fault_lock, flags);
322 if (vinst->fifo_in_progress)
325 vinst->fifo_in_progress = 1;
327 spin_unlock_irqrestore(&vinst->fault_lock, flags);
336 int vas_setup_fault_window(struct vas_instance *vinst)
340 vinst->fault_fifo_size = VAS_FAULT_WIN_FIFO_SIZE;
341 vinst->fault_fifo = kzalloc(vinst->fault_fifo_size, GFP_KERNEL);
342 if (!vinst->fault_fifo) {
344 vinst->fault_fifo_size);
351 memset(vinst->fault_fifo, FIFO_INVALID_ENTRY, vinst->fault_fifo_size);
354 attr.rx_fifo_size = vinst->fault_fifo_size;
355 attr.rx_fifo = __pa(vinst->fault_fifo);
362 attr.wcreds_max = vinst->fault_fifo_size / CRB_SIZE;
367 vinst->fault_win = vas_rx_win_open(vinst->vas_id, VAS_COP_TYPE_FAULT,
370 if (IS_ERR(vinst->fault_win)) {
372 PTR_ERR(vinst->fault_win));
373 kfree(vinst->fault_fifo);
374 return PTR_ERR(vinst->fault_win);
378 vinst->fault_win->winid, attr.lnotify_lpid,