Lines Matching refs:nescq

1113 	struct nes_cq *nescq;  in nes_create_qp()  local
1268 nescq = to_nescq(init_attr->send_cq); in nes_create_qp()
1269 nesqp->nesscq = nescq; in nes_create_qp()
1270 nescq = to_nescq(init_attr->recv_cq); in nes_create_qp()
1271 nesqp->nesrcq = nescq; in nes_create_qp()
1428 static void nes_clean_cq(struct nes_qp *nesqp, struct nes_cq *nescq) in nes_clean_cq() argument
1436 spin_lock_irqsave(&nescq->lock, flags); in nes_clean_cq()
1438 cq_head = nescq->hw_cq.cq_head; in nes_clean_cq()
1439 while (le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) { in nes_clean_cq()
1441 lo = le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]); in nes_clean_cq()
1442 hi = le32_to_cpu(nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX]); in nes_clean_cq()
1447 nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = 0; in nes_clean_cq()
1448 nescq->hw_cq.cq_vbase[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX] = 0; in nes_clean_cq()
1451 if (++cq_head >= nescq->hw_cq.cq_size) in nes_clean_cq()
1455 spin_unlock_irqrestore(&nescq->lock, flags); in nes_clean_cq()
1538 struct nes_cq *nescq; in nes_create_cq() local
1562 nescq = kzalloc(sizeof(struct nes_cq), GFP_KERNEL); in nes_create_cq()
1563 if (!nescq) { in nes_create_cq()
1569 nescq->hw_cq.cq_size = max(entries + 1, 5); in nes_create_cq()
1570 nescq->hw_cq.cq_number = cq_num; in nes_create_cq()
1571 nescq->ibcq.cqe = nescq->hw_cq.cq_size - 1; in nes_create_cq()
1578 kfree(nescq); in nes_create_cq()
1585 nescq->hw_cq.cq_number = nesvnic->nic.qp_id + 28 + 2 * ((nes_ucontext->mcrqf & 0xf) - 1); in nes_create_cq()
1587 nescq->hw_cq.cq_number = nes_ucontext->mcrqf & 0xffff; in nes_create_cq()
1589 nescq->hw_cq.cq_number = nesvnic->mcrq_qp_id + nes_ucontext->mcrqf-1; in nes_create_cq()
1590 nescq->mcrqf = nes_ucontext->mcrqf; in nes_create_cq()
1607 kfree(nescq); in nes_create_cq()
1612 nescq->cq_mem_size = 0; in nes_create_cq()
1614 nescq->cq_mem_size = nescq->hw_cq.cq_size * sizeof(struct nes_hw_cqe); in nes_create_cq()
1616 entries, nescq->cq_mem_size, nescq->hw_cq.cq_number); in nes_create_cq()
1619 mem = pci_zalloc_consistent(nesdev->pcidev, nescq->cq_mem_size, in nes_create_cq()
1620 &nescq->hw_cq.cq_pbase); in nes_create_cq()
1624 kfree(nescq); in nes_create_cq()
1628 nescq->hw_cq.cq_vbase = mem; in nes_create_cq()
1629 nescq->hw_cq.cq_head = 0; in nes_create_cq()
1631 nescq->hw_cq.cq_number, nescq->hw_cq.cq_vbase, in nes_create_cq()
1632 (u32)nescq->hw_cq.cq_pbase); in nes_create_cq()
1635 nescq->hw_cq.ce_handler = nes_iwarp_ce_handler; in nes_create_cq()
1636 spin_lock_init(&nescq->lock); in nes_create_cq()
1643 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1644 nescq->hw_cq.cq_pbase); in nes_create_cq()
1652 kfree(nescq); in nes_create_cq()
1660 NES_CQP_CQ_CEQE_MASK | ((u32)nescq->hw_cq.cq_size << 16); in nes_create_cq()
1672 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1673 nescq->hw_cq.cq_pbase); in nes_create_cq()
1680 kfree(nescq); in nes_create_cq()
1684 nescq->virtual_cq = 2; in nes_create_cq()
1694 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1695 nescq->hw_cq.cq_pbase); in nes_create_cq()
1702 kfree(nescq); in nes_create_cq()
1706 nescq->virtual_cq = 1; in nes_create_cq()
1717 (nescq->hw_cq.cq_number | ((u32)nesdev->ceq_index << 16))); in nes_create_cq()
1727 u64temp = (u64)nescq->hw_cq.cq_pbase; in nes_create_cq()
1732 u64temp = (u64)(unsigned long)&nescq->hw_cq; in nes_create_cq()
1743 nescq->hw_cq.cq_number); in nes_create_cq()
1747 nescq->hw_cq.cq_number, ret); in nes_create_cq()
1751 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, mem, in nes_create_cq()
1752 nescq->hw_cq.cq_pbase); in nes_create_cq()
1759 kfree(nescq); in nes_create_cq()
1769 resp.cq_id = nescq->hw_cq.cq_number; in nes_create_cq()
1770 resp.cq_size = nescq->hw_cq.cq_size; in nes_create_cq()
1774 kfree(nescq); in nes_create_cq()
1779 return &nescq->ibcq; in nes_create_cq()
1788 struct nes_cq *nescq; in nes_destroy_cq() local
1801 nescq = to_nescq(ib_cq); in nes_destroy_cq()
1806 nes_debug(NES_DBG_CQ, "Destroy CQ%u\n", nescq->hw_cq.cq_number); in nes_destroy_cq()
1816 opcode = NES_CQP_DESTROY_CQ | (nescq->hw_cq.cq_size << 16); in nes_destroy_cq()
1818 if (nescq->virtual_cq == 1) { in nes_destroy_cq()
1824 } else if (nescq->virtual_cq == 2) { in nes_destroy_cq()
1838 (nescq->hw_cq.cq_number | ((u32)PCI_FUNC(nesdev->pcidev->devfn) << 16))); in nes_destroy_cq()
1839 if (!nescq->mcrqf) in nes_destroy_cq()
1840 nes_free_resource(nesadapter, nesadapter->allocated_cqs, nescq->hw_cq.cq_number); in nes_destroy_cq()
1847 nescq->hw_cq.cq_number); in nes_destroy_cq()
1852 nescq->hw_cq.cq_number, ret, cqp_request->major_code, in nes_destroy_cq()
1856 nescq->hw_cq.cq_number); in nes_destroy_cq()
1860 nescq->hw_cq.cq_number); in nes_destroy_cq()
1867 if (nescq->cq_mem_size) in nes_destroy_cq()
1868 pci_free_consistent(nesdev->pcidev, nescq->cq_mem_size, in nes_destroy_cq()
1869 nescq->hw_cq.cq_vbase, nescq->hw_cq.cq_pbase); in nes_destroy_cq()
1870 kfree(nescq); in nes_destroy_cq()
3639 struct nes_cq *nescq = to_nescq(ibcq); in nes_poll_cq() local
3653 spin_lock_irqsave(&nescq->lock, flags); in nes_poll_cq()
3655 head = nescq->hw_cq.cq_head; in nes_poll_cq()
3656 cq_size = nescq->hw_cq.cq_size; in nes_poll_cq()
3659 if ((le32_to_cpu(nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_OPCODE_IDX]) & in nes_poll_cq()
3669 cqe = nescq->hw_cq.cq_vbase[head]; in nes_poll_cq()
3688 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_ERROR_CODE_IDX] = in nes_poll_cq()
3764 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_OPCODE_IDX] = 0; in nes_poll_cq()
3767 nescq->polled_completions++; in nes_poll_cq()
3769 if ((nescq->polled_completions > (cq_size / 2)) || in nes_poll_cq()
3770 (nescq->polled_completions == 255)) { in nes_poll_cq()
3773 nescq->hw_cq.cq_number, nescq->polled_completions, cq_size); in nes_poll_cq()
3775 nescq->hw_cq.cq_number | (nescq->polled_completions << 16)); in nes_poll_cq()
3776 nescq->polled_completions = 0; in nes_poll_cq()
3782 nescq->hw_cq.cq_vbase[head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = in nes_poll_cq()
3788 if (nescq->polled_completions) { in nes_poll_cq()
3790 nescq->hw_cq.cq_number | (nescq->polled_completions << 16)); in nes_poll_cq()
3791 nescq->polled_completions = 0; in nes_poll_cq()
3794 nescq->hw_cq.cq_head = head; in nes_poll_cq()
3796 cqe_count, nescq->hw_cq.cq_number); in nes_poll_cq()
3798 spin_unlock_irqrestore(&nescq->lock, flags); in nes_poll_cq()
3811 struct nes_cq *nescq = to_nescq(ibcq); in nes_req_notify_cq() local
3815 nescq->hw_cq.cq_number); in nes_req_notify_cq()
3817 cq_arm = nescq->hw_cq.cq_number; in nes_req_notify_cq()