Lines Matching refs:vinst
29 static void dump_fifo(struct vas_instance *vinst, void *entry)
31 unsigned long *end = vinst->fault_fifo + vinst->fault_fifo_size;
35 pr_err("Fault fifo size %d, Max crbs %d\n", vinst->fault_fifo_size,
36 vinst->fault_fifo_size / CRB_SIZE);
68 struct vas_instance *vinst = data;
97 spin_lock_irqsave(&vinst->fault_lock, flags);
104 fifo = vinst->fault_fifo + (vinst->fault_crbs * CRB_SIZE);
109 vinst->fifo_in_progress = 0;
110 spin_unlock_irqrestore(&vinst->fault_lock, flags);
114 spin_unlock_irqrestore(&vinst->fault_lock, flags);
115 vinst->fault_crbs++;
116 if (vinst->fault_crbs == (vinst->fault_fifo_size / CRB_SIZE))
117 vinst->fault_crbs = 0;
125 vas_return_credit(vinst->fault_win, false);
128 vinst->vas_id, vinst->fault_fifo, fifo,
129 vinst->fault_crbs);
132 window = vas_pswid_to_window(vinst,
144 dump_fifo(vinst, (void *)entry);
146 vinst->vas_id, vinst->fault_fifo, fifo,
148 vinst->fault_crbs);
171 struct vas_instance *vinst = dev_id;
183 spin_lock_irqsave(&vinst->fault_lock, flags);
185 if (vinst->fifo_in_progress)
188 vinst->fifo_in_progress = 1;
190 spin_unlock_irqrestore(&vinst->fault_lock, flags);
199 int vas_setup_fault_window(struct vas_instance *vinst)
204 vinst->fault_fifo_size = VAS_FAULT_WIN_FIFO_SIZE;
205 vinst->fault_fifo = kzalloc(vinst->fault_fifo_size, GFP_KERNEL);
206 if (!vinst->fault_fifo) {
208 vinst->fault_fifo_size);
215 memset(vinst->fault_fifo, FIFO_INVALID_ENTRY, vinst->fault_fifo_size);
218 attr.rx_fifo_size = vinst->fault_fifo_size;
219 attr.rx_fifo = __pa(vinst->fault_fifo);
226 attr.wcreds_max = vinst->fault_fifo_size / CRB_SIZE;
231 win = vas_rx_win_open(vinst->vas_id, VAS_COP_TYPE_FAULT, &attr);
234 kfree(vinst->fault_fifo);
238 vinst->fault_win = container_of(win, struct pnv_vas_window, vas_win);
241 vinst->fault_win->vas_win.winid, attr.lnotify_lpid,