Lines Matching refs:wq

49 			struct idxd_wq *wq = idxd->wqs[i];
51 rc = idxd_wq_enable(wq);
54 dev_warn(dev, "Unable to re-enable wq %s\n",
55 dev_name(wq_confdev(wq)));
73 struct idxd_wq *wq = ie_to_wq(ie);
74 struct idxd_device *idxd = wq->idxd;
88 portal = idxd_wq_portal_addr(wq);
95 if (wq_dedicated(wq)) {
98 rc = idxd_enqcmds(wq, portal, &desc);
101 dev_warn(dev, "Failed to submit drain desc on wq %d\n", wq->id);
148 * wq is kernel type, the driver will kill the percpu_ref to pause all
156 struct idxd_wq *wq = ie_to_wq(ie);
170 idxd_wq_quiesce(wq);
179 if (wq->state != IDXD_WQ_ENABLED || wq->type != IDXD_WQT_KERNEL) {
189 mutex_lock(&wq->wq_lock);
190 reinit_completion(&wq->wq_resurrect);
193 percpu_ref_kill(&wq->wq_active);
196 wait_for_completion(&wq->wq_dead);
201 percpu_ref_reinit(&wq->wq_active);
202 complete_all(&wq->wq_resurrect);
203 mutex_unlock(&wq->wq_lock);
215 if (wq_dedicated(wq))
225 struct idxd_wq *wq = fault->wq;
226 struct idxd_device *idxd = wq->idxd;
243 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULTS);
255 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULTS);
271 * that is found by wq and PASID.
273 copied = idxd_copy_cr(wq, entry_head->pasid, entry_head->fault_addr,
287 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULT_FAILS);
296 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULT_FAILS);
336 struct idxd_wq *wq = idxd->wqs[entry_head->wq_idx];
338 fault->wq = wq;
342 queue_work(wq->wq, &fault->work);
417 struct idxd_wq *wq = idxd->wqs[id];
419 if (wq->type == IDXD_WQT_USER)
420 wake_up_interruptible(&wq->err_queue);
425 struct idxd_wq *wq = idxd->wqs[i];
427 if (wq->type == IDXD_WQT_USER)
428 wake_up_interruptible(&wq->err_queue);
450 queue_work(idxd->wq, &revoke->work);
497 queue_work(idxd->wq, &idxd->work);
518 struct idxd_wq *wq = desc->wq;
522 rc = idxd_submit_desc(wq, desc);
524 dev_dbg(&wq->idxd->pdev->dev, "Failed to resubmit desc %d to wq %d.\n",
525 desc->id, wq->id);
527 * If the error is not -EAGAIN, it means the submission failed due to wq
538 idxd_free_desc(wq, desc);
545 struct idxd_wq *wq = desc->wq;
546 struct idxd_device *idxd = wq->idxd;
555 queue_work(idxd->wq, &irw->work);