Lines Matching refs:hw_srq

98 qlnxr_srq_elem_left(struct qlnxr_srq_hwq_info *hw_srq);
170 struct qlnxr_srq_hwq_info *hw_srq; in qlnxr_create_srq() local
185 hw_srq = &srq->hw_srq; in qlnxr_create_srq()
207 phy_prod_pair_addr = hw_srq->phy_prod_pair_addr; in qlnxr_create_srq()
217 pbl = &hw_srq->pbl; in qlnxr_create_srq()
221 phy_prod_pair_addr = hw_srq->phy_prod_pair_addr; in qlnxr_create_srq()
307 if (attr->srq_limit >= srq->hw_srq.max_wr) { in qlnxr_modify_srq()
310 attr->srq_limit, srq->hw_srq.max_wr); in qlnxr_modify_srq()
389 struct qlnxr_srq_hwq_info *hw_srq; in qlnxr_post_srq_recv() local
398 hw_srq = &srq->hw_srq; in qlnxr_post_srq_recv()
403 pbl = &srq->hw_srq.pbl; in qlnxr_post_srq_recv()
408 if (!qlnxr_srq_elem_left(hw_srq) || in qlnxr_post_srq_recv()
409 wr->num_sge > srq->hw_srq.max_sges) { in qlnxr_post_srq_recv()
412 hw_srq->wr_prod_cnt, hw_srq->wr_cons_cnt, in qlnxr_post_srq_recv()
413 wr->num_sge, srq->hw_srq.max_sges); in qlnxr_post_srq_recv()
427 qlnxr_inc_srq_wr_prod(hw_srq); in qlnxr_post_srq_recv()
428 hw_srq->wqe_prod++; in qlnxr_post_srq_recv()
429 hw_srq->sge_prod++; in qlnxr_post_srq_recv()
432 wr->num_sge, hw_srq->wqe_prod, wr->wr_id); in qlnxr_post_srq_recv()
444 hw_srq->sge_prod++; in qlnxr_post_srq_recv()
452 *(srq->hw_srq.virt_prod_pair_addr) = hw_srq->sge_prod; in qlnxr_post_srq_recv()
454 *((u8 *)srq->hw_srq.virt_prod_pair_addr + offset) = in qlnxr_post_srq_recv()
455 hw_srq->wqe_prod; in qlnxr_post_srq_recv()
2304 struct qlnxr_srq_hwq_info *hw_srq = &srq->hw_srq; in qlnxr_free_srq_kernel_params() local
2312 ecore_chain_free(dev->cdev, &hw_srq->pbl); in qlnxr_free_srq_kernel_params()
2315 hw_srq->virt_prod_pair_addr, in qlnxr_free_srq_kernel_params()
2316 hw_srq->phy_prod_pair_addr, in qlnxr_free_srq_kernel_params()
2358 srq->hw_srq.phy_prod_pair_addr = sg_dma_address(sg); in qlnxr_init_srq_user_params()
2369 struct qlnxr_srq_hwq_info *hw_srq = &srq->hw_srq; in qlnxr_alloc_srq_kernel_params() local
2388 hw_srq->phy_prod_pair_addr = phy_prod_pair_addr; in qlnxr_alloc_srq_kernel_params()
2389 hw_srq->virt_prod_pair_addr = va; in qlnxr_alloc_srq_kernel_params()
2401 &hw_srq->pbl, NULL); in qlnxr_alloc_srq_kernel_params()
2408 hw_srq->max_wr = max_wr; in qlnxr_alloc_srq_kernel_params()
2409 hw_srq->num_elems = num_elems; in qlnxr_alloc_srq_kernel_params()
2410 hw_srq->max_sges = RDMA_MAX_SGE_PER_SRQ; in qlnxr_alloc_srq_kernel_params()
4603 qlnxr_srq_elem_left(struct qlnxr_srq_hwq_info *hw_srq) in qlnxr_srq_elem_left() argument
4611 used = hw_srq->wr_prod_cnt - hw_srq->wr_cons_cnt; in qlnxr_srq_elem_left()
4613 return hw_srq->max_wr - used; in qlnxr_srq_elem_left()
5038 srq->hw_srq.wr_cons_cnt++; in process_resp_one_srq()