Lines Matching refs:nescq

1093 	struct nes_cq *nescq;  in nes_create_qp()  local
1248 nescq = to_nescq(init_attr->send_cq); in nes_create_qp()
1249 nesqp->nesscq = nescq; in nes_create_qp()
1250 nescq = to_nescq(init_attr->recv_cq); in nes_create_qp()
1251 nesqp->nesrcq = nescq; in nes_create_qp()
1408 static void nes_clean_cq(struct nes_qp *nesqp, struct nes_cq *nescq) in nes_clean_cq() argument
1416 spin_lock_irqsave(&nescq->lock, flags); in nes_clean_cq()
1418 cq_head = nescq->hw_cq.cq_head; in nes_clean_cq()
1419 while (le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) { in nes_clean_cq()
1421 lo = le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]); in nes_clean_cq()
1422 hi = le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX]); in nes_clean_cq()
1427 nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = 0; in nes_clean_cq()
1428 nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX] = 0; in nes_clean_cq()
1431 if (++cq_head >= nescq->hw_cq.cq_size) in nes_clean_cq()
1435 spin_unlock_irqrestore(&nescq->lock, flags); in nes_clean_cq()
1520 struct nes_cq *nescq; in nes_create_cq() local
1547 nescq = kzalloc(sizeof(struct nes_cq), GFP_KERNEL); in nes_create_cq()
1548 if (!nescq) { in nes_create_cq()
1554 nescq->hw_cq.cq_size = max(entries + 1, 5); in nes_create_cq()
1555 nescq->hw_cq.cq_number = cq_num; in nes_create_cq()
1556 nescq->ibcq.cqe = nescq->hw_cq.cq_size - 1; in nes_create_cq()
1563 kfree(nescq); in nes_create_cq()
1570 nescq->hw_cq.cq_number = nesvnic->nic.qp_id + 28 + 2 * ((nes_ucontext->mcrqf & 0xf) - 1); in nes_create_cq()
1572 nescq->hw_cq.cq_number = nes_ucontext->mcrqf & 0xffff; in nes_create_cq()
1574 nescq->hw_cq.cq_number = nesvnic->mcrq_qp_id + nes_ucontext->mcrqf-1; in nes_create_cq()
1575 nescq->mcrqf = nes_ucontext->mcrqf; in nes_create_cq()
1592 kfree(nescq); in nes_create_cq()
1597 nescq->cq_mem_size = 0; in nes_create_cq()
1599 nescq->cq_mem_size = nescq->hw_cq.cq_size * sizeof(struct nes_hw_cqe); in nes_create_cq()
1601 entries, nescq->cq_mem_size, nescq->hw_cq.cq_number); in nes_create_cq()
1604 mem = pci_zalloc_consistent(nesdev->pcidev, nescq->cq_mem_size, in nes_create_cq()
1605 &nescq->hw_cq.cq_pbase); in nes_create_cq()
1609 kfree(nescq); in nes_create_cq()
1613 nescq->hw_cq.cq_vbase = mem; in nes_create_cq()
1614 nescq->hw_cq.cq_head = 0; in nes_create_cq()
1616 nescq->hw_cq.cq_number, nescq->hw_cq.cq_vbase, in nes_create_cq()
1617 (u32)nescq->hw_cq.cq_pbase); in nes_create_cq()
1620 nescq->hw_cq.ce_handler = nes_iwarp_ce_handler; in nes_create_cq()
1621 spin_lock_init(&nescq->lock); in nes_create_cq()
1628 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1629 nescq->hw_cq.cq_pbase); in nes_create_cq()
1637 kfree(nescq); in nes_create_cq()
1645 NES_CQP_CQ_CEQE_MASK | ((u32)nescq->hw_cq.cq_size << 16); in nes_create_cq()
1657 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1658 nescq->hw_cq.cq_pbase); in nes_create_cq()
1665 kfree(nescq); in nes_create_cq()
1669 nescq->virtual_cq = 2; in nes_create_cq()
1679 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1680 nescq->hw_cq.cq_pbase); in nes_create_cq()
1687 kfree(nescq); in nes_create_cq()
1691 nescq->virtual_cq = 1; in nes_create_cq()
1702 (nescq->hw_cq.cq_number | ((u32)nesdev->ceq_index << 16))); in nes_create_cq()
1712 u64temp = (u64)nescq->hw_cq.cq_pbase; in nes_create_cq()
1717 u64temp = (u64)(unsigned long)&nescq->hw_cq; in nes_create_cq()
1728 nescq->hw_cq.cq_number); in nes_create_cq()
1732 nescq->hw_cq.cq_number, ret); in nes_create_cq()
1736 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1737 nescq->hw_cq.cq_pbase); in nes_create_cq()
1744 kfree(nescq); in nes_create_cq()
1754 resp.cq_id = nescq->hw_cq.cq_number; in nes_create_cq()
1755 resp.cq_size = nescq->hw_cq.cq_size; in nes_create_cq()
1759 kfree(nescq); in nes_create_cq()
1764 return &nescq->ibcq; in nes_create_cq()
1773 struct nes_cq *nescq; in nes_destroy_cq() local
1786 nescq = to_nescq(ib_cq); in nes_destroy_cq()
1791 nes_debug(NES_DBG_CQ, "Destroy CQ%u\n", nescq->hw_cq.cq_number); in nes_destroy_cq()
1801 opcode = NES_CQP_DESTROY_CQ | (nescq->hw_cq.cq_size << 16); in nes_destroy_cq()
1803 if (nescq->virtual_cq == 1) { in nes_destroy_cq()
1809 } else if (nescq->virtual_cq == 2) { in nes_destroy_cq()
1823 (nescq->hw_cq.cq_number | ((u32)PCI_FUNC(nesdev->pcidev->devfn) << 16))); in nes_destroy_cq()
1824 if (!nescq->mcrqf) in nes_destroy_cq()
1825 nes_free_resource(nesadapter, nesadapter->allocated_cqs, nescq->hw_cq.cq_number); in nes_destroy_cq()
1832 nescq->hw_cq.cq_number); in nes_destroy_cq()
1837 nescq->hw_cq.cq_number, ret, cqp_request->major_code, in nes_destroy_cq()
1841 nescq->hw_cq.cq_number); in nes_destroy_cq()
1845 nescq->hw_cq.cq_number); in nes_destroy_cq()
1852 if (nescq->cq_mem_size) in nes_destroy_cq()
1853 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, in nes_destroy_cq()
1854 nescq->hw_cq.cq_vbase, nescq->hw_cq.cq_pbase); in nes_destroy_cq()
1855 kfree(nescq); in nes_destroy_cq()
3615 struct nes_cq *nescq = to_nescq(ibcq); in nes_poll_cq() local
3629 spin_lock_irqsave(&nescq->lock, flags); in nes_poll_cq()
3631 head = nescq->hw_cq.cq_head; in nes_poll_cq()
3632 cq_size = nescq->hw_cq.cq_size; in nes_poll_cq()
3635 if ((le32_to_cpu(nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_OPCODE_IDX]) & in nes_poll_cq()
3645 cqe = nescq->hw_cq.cq_vbase[head]; in nes_poll_cq()
3664 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_ERROR_CODE_IDX] = in nes_poll_cq()
3740 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_OPCODE_IDX] = 0; in nes_poll_cq()
3743 nescq->polled_completions++; in nes_poll_cq()
3745 if ((nescq->polled_completions > (cq_size / 2)) || in nes_poll_cq()
3746 (nescq->polled_completions == 255)) { in nes_poll_cq()
3749 nescq->hw_cq.cq_number, nescq->polled_completions, cq_size); in nes_poll_cq()
3751 nescq->hw_cq.cq_number | (nescq->polled_completions << 16)); in nes_poll_cq()
3752 nescq->polled_completions = 0; in nes_poll_cq()
3758 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = in nes_poll_cq()
3764 if (nescq->polled_completions) { in nes_poll_cq()
3766 nescq->hw_cq.cq_number | (nescq->polled_completions << 16)); in nes_poll_cq()
3767 nescq->polled_completions = 0; in nes_poll_cq()
3770 nescq->hw_cq.cq_head = head; in nes_poll_cq()
3772 cqe_count, nescq->hw_cq.cq_number); in nes_poll_cq()
3774 spin_unlock_irqrestore(&nescq->lock, flags); in nes_poll_cq()
3787 struct nes_cq *nescq = to_nescq(ibcq); in nes_req_notify_cq() local
3791 nescq->hw_cq.cq_number); in nes_req_notify_cq()
3793 cq_arm = nescq->hw_cq.cq_number; in nes_req_notify_cq()