Lines Matching refs:cqp

425  * irdma_alloc_and_get_cqp_request - get cqp struct
426 * @cqp: device cqp ptr
427 * @wait: cqp to be used in wait mode
429 struct irdma_cqp_request *irdma_alloc_and_get_cqp_request(struct irdma_cqp *cqp,
435 spin_lock_irqsave(&cqp->req_lock, flags);
436 if (!list_empty(&cqp->cqp_avail_reqs)) {
437 cqp_request = list_first_entry(&cqp->cqp_avail_reqs,
441 spin_unlock_irqrestore(&cqp->req_lock, flags);
451 ibdev_dbg(to_ibdev(cqp->sc_cqp.dev), "ERR: CQP Request Fail: No Memory");
472 * irdma_free_cqp_request - free cqp request
473 * @cqp: cqp ptr
474 * @cqp_request: to be put back in cqp list
476 void irdma_free_cqp_request(struct irdma_cqp *cqp,
488 spin_lock_irqsave(&cqp->req_lock, flags);
489 list_add_tail(&cqp_request->list, &cqp->cqp_avail_reqs);
490 spin_unlock_irqrestore(&cqp->req_lock, flags);
492 wake_up(&cqp->remove_wq);
497 * @cqp: cqp ptr
498 * @cqp_request: to be put back in cqp list
500 void irdma_put_cqp_request(struct irdma_cqp *cqp,
504 irdma_free_cqp_request(cqp, cqp_request);
508 * irdma_free_pending_cqp_request -free pending cqp request objs
509 * @cqp: cqp ptr
510 * @cqp_request: to be put back in cqp list
513 irdma_free_pending_cqp_request(struct irdma_cqp *cqp,
521 wait_event_timeout(cqp->remove_wq,
523 irdma_put_cqp_request(cqp, cqp_request);
527 * irdma_cleanup_pending_cqp_op - clean-up cqp with no
534 struct irdma_cqp *cqp = &rf->cqp;
539 pending_work = IRDMA_RING_USED_QUANTA(cqp->sc_cqp.sq_ring);
540 wqe_idx = IRDMA_RING_CURRENT_TAIL(cqp->sc_cqp.sq_ring);
543 cqp->scratch_array[wqe_idx];
545 irdma_free_pending_cqp_request(cqp, cqp_request);
546 wqe_idx = (wqe_idx + 1) % IRDMA_RING_SIZE(cqp->sc_cqp.sq_ring);
554 irdma_free_pending_cqp_request(cqp, cqp_request);
561 * @cqp_request: cqp request to wait
570 cqp_timeout.compl_cqp_cmds = atomic64_read(&rf->sc_dev.cqp->completed_ops);
692 * irdma_handle_cqp_op - process cqp command
694 * @cqp_request: cqp request to process
732 irdma_put_cqp_request(&rf->cqp, cqp_request);
827 * irdma_cqp_sds_cmd - create cqp command for sd
829 * @sdinfo: information for sd cqp
840 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
853 irdma_put_cqp_request(&rf->cqp, cqp_request);
859 * irdma_cqp_qp_suspend_resume - cqp command for suspend/resume
867 struct irdma_sc_cqp *cqp = dev->cqp;
872 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, false);
878 cqp_info->in.u.suspend_resume.cqp = cqp;
883 irdma_put_cqp_request(&rf->cqp, cqp_request);
975 * irdma_cqp_query_fpm_val_cmd - send cqp command for fpm
988 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
994 cqp_info->in.u.query_fpm_val.cqp = dev->cqp;
1003 irdma_put_cqp_request(&rf->cqp, cqp_request);
1022 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
1028 cqp_info->in.u.commit_fpm_val.cqp = dev->cqp;
1037 irdma_put_cqp_request(&rf->cqp, cqp_request);
1043 * irdma_cqp_cq_create_cmd - create a cq for the cqp
1050 struct irdma_cqp *iwcqp = &rf->cqp;
1072 * irdma_cqp_qp_create_cmd - create a qp for the cqp
1079 struct irdma_cqp *iwcqp = &rf->cqp;
1120 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, false);
1131 cqp_info->in.u.manage_push_page.cqp = &rf->cqp.sc_cqp;
1136 irdma_put_cqp_request(&rf->cqp, cqp_request);
1170 * irdma_cq_wq_destroy - send cq destroy cqp
1179 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
1190 irdma_put_cqp_request(&rf->cqp, cqp_request);
1209 * irdma_hw_modify_qp - setup cqp for modify qp
1224 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, wait);
1240 irdma_put_cqp_request(&rf->cqp, cqp_request);
1261 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp,
1276 irdma_put_cqp_request(&rf->cqp, cqp_request);
1289 * irdma_cqp_cq_destroy_cmd - destroy the cqp cq
1301 * irdma_cqp_qp_destroy_cmd - destroy the cqp
1308 struct irdma_cqp *iwcqp = &rf->cqp;
1326 irdma_put_cqp_request(&rf->cqp, cqp_request);
1762 struct irdma_cqp *iwcqp = &rf->cqp;
1777 cqp_info->in.u.stats_gather.cqp = &rf->cqp.sc_cqp;
1784 irdma_put_cqp_request(&rf->cqp, cqp_request);
1799 struct irdma_cqp *iwcqp = &rf->cqp;
1817 cqp_info->in.u.stats_manage.cqp = &rf->cqp.sc_cqp;
1840 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
1851 irdma_put_cqp_request(&rf->cqp, cqp_request);
1870 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, true);
1881 irdma_put_cqp_request(&rf->cqp, cqp_request);
1896 struct irdma_cqp *iwcqp = &rf->cqp;
1897 struct irdma_sc_cqp *cqp = &iwcqp->sc_cqp;
1917 cqp_info->in.u.ws_node.cqp = cqp;
1926 status = irdma_sc_poll_for_cqp_op_done(cqp, IRDMA_CQP_OP_WORK_SCHED_NODE,
1936 irdma_put_cqp_request(&rf->cqp, cqp_request);
1942 * irdma_ah_cqp_op - perform an AH cqp operation
1964 cqp_request = irdma_alloc_and_get_cqp_request(&rf->cqp, wait);
1974 cqp_info->in.u.ah_create.cqp = &rf->cqp.sc_cqp;
1978 cqp_info->in.u.ah_destroy.cqp = &rf->cqp.sc_cqp;
1986 irdma_put_cqp_request(&rf->cqp, cqp_request);