Lines Matching defs:iwcq

455  * @iwcq: cq ptr
457 static void irdma_clean_cqes(struct irdma_qp *iwqp, struct irdma_cq *iwcq)
459 struct irdma_cq_uk *ukcq = &iwcq->sc_cq.cq_uk;
462 spin_lock_irqsave(&iwcq->lock, flags);
464 spin_unlock_irqrestore(&iwcq->lock, flags);
1782 * @iwcq: cq ptr
1784 static void irdma_cq_free_rsrc(struct irdma_pci_f *rf, struct irdma_cq *iwcq)
1786 struct irdma_sc_cq *cq = &iwcq->sc_cq;
1788 if (!iwcq->user_mode) {
1789 dma_free_coherent(rf->sc_dev.hw->device, iwcq->kmem.size,
1790 iwcq->kmem.va, iwcq->kmem.pa);
1791 iwcq->kmem.va = NULL;
1793 iwcq->kmem_shadow.size,
1794 iwcq->kmem_shadow.va, iwcq->kmem_shadow.pa);
1795 iwcq->kmem_shadow.va = NULL;
1817 * @iwcq: cq which owns the resize_list
1821 static int irdma_process_resize_list(struct irdma_cq *iwcq,
1829 list_for_each_safe(list_node, tmp_node, &iwcq->resize_list) {
1850 struct irdma_cq *iwcq = to_iwcq(ib_cq);
1851 struct irdma_sc_cq *cq = &iwcq->sc_cq;
1857 spin_lock_irqsave(&iwcq->lock, flags);
1858 if (!list_empty(&iwcq->cmpl_generated))
1859 irdma_remove_cmpls_list(iwcq);
1860 if (!list_empty(&iwcq->resize_list))
1861 irdma_process_resize_list(iwcq, iwdev, NULL);
1862 spin_unlock_irqrestore(&iwcq->lock, flags);
1865 wait_for_completion(&iwcq->free_cq);
1872 irdma_cq_free_rsrc(iwdev->rf, iwcq);
1887 struct irdma_cq *iwcq = to_iwcq(ibcq);
1888 struct irdma_sc_dev *dev = iwcq->sc_cq.dev;
1915 if (!iwcq->user_mode) {
1923 if (info.cq_size == iwcq->sc_cq.cq_uk.cq_size - 1)
1983 info.shadow_read_threshold = iwcq->sc_cq.shadow_read_threshold;
1991 cqp_info->in.u.cq_modify.cq = &iwcq->sc_cq;
1999 spin_lock_irqsave(&iwcq->lock, flags);
2001 cq_buf->kmem_buf = iwcq->kmem;
2003 memcpy(&cq_buf->cq_uk, &iwcq->sc_cq.cq_uk, sizeof(cq_buf->cq_uk));
2005 list_add_tail(&cq_buf->list, &iwcq->resize_list);
2006 iwcq->kmem = kmem_buf;
2009 irdma_sc_cq_resize(&iwcq->sc_cq, &info);
2011 spin_unlock_irqrestore(&iwcq->lock, flags);
2049 struct irdma_cq *iwcq = to_iwcq(ibcq);
2074 cq = &iwcq->sc_cq;
2075 cq->back_cq = iwcq;
2076 refcount_set(&iwcq->refcnt, 1);
2077 spin_lock_init(&iwcq->lock);
2078 INIT_LIST_HEAD(&iwcq->resize_list);
2079 INIT_LIST_HEAD(&iwcq->cmpl_generated);
2083 iwcq->ibcq.cqe = info.cq_uk_init_info.cq_size;
2099 iwcq->user_mode = true;
2118 iwcq->iwpbl = iwpbl;
2119 iwcq->cq_mem_size = 0;
2134 iwcq->iwpbl_shadow = iwpbl_shadow;
2163 iwcq->kmem.size = ALIGN(round_up(rsize, 256), 256);
2164 iwcq->kmem.va = dma_alloc_coherent(dev->hw->device,
2165 iwcq->kmem.size,
2166 &iwcq->kmem.pa, GFP_KERNEL);
2167 if (!iwcq->kmem.va) {
2172 iwcq->kmem_shadow.size = ALIGN(IRDMA_SHADOW_AREA_SIZE << 3,
2174 iwcq->kmem_shadow.va = dma_alloc_coherent(dev->hw->device,
2175 iwcq->kmem_shadow.size,
2176 &iwcq->kmem_shadow.pa,
2178 if (!iwcq->kmem_shadow.va) {
2182 info.shadow_area_pa = iwcq->kmem_shadow.pa;
2183 ukinfo->shadow_area = iwcq->kmem_shadow.va;
2184 ukinfo->cq_base = iwcq->kmem.va;
2185 info.cq_base_pa = iwcq->kmem.pa;
2227 rf->cq_table[cq_num] = iwcq;
2228 init_completion(&iwcq->free_cq);
2234 irdma_cq_free_rsrc(rf, iwcq);
3623 * @iwcq: cq to poll
3627 static int __irdma_poll_cq(struct irdma_cq *iwcq, int num_entries, struct ib_wc *entry)
3631 struct irdma_cq_poll_info *cur_cqe = &iwcq->cur_cqe;
3640 iwdev = to_iwdev(iwcq->ibcq.device);
3641 ukcq = &iwcq->sc_cq.cq_uk;
3644 list_for_each_safe(list_node, tmp_node, &iwcq->resize_list) {
3673 ret = irdma_generated_cmpls(iwcq, cur_cqe);
3695 resized_bufs = irdma_process_resize_list(iwcq, iwdev, NULL);
3698 resized_bufs = irdma_process_resize_list(iwcq, iwdev, last_buf);
3720 struct irdma_cq *iwcq;
3724 iwcq = to_iwcq(ibcq);
3726 spin_lock_irqsave(&iwcq->lock, flags);
3727 ret = __irdma_poll_cq(iwcq, num_entries, entry);
3728 spin_unlock_irqrestore(&iwcq->lock, flags);
3741 struct irdma_cq *iwcq;
3750 iwcq = to_iwcq(ibcq);
3751 ukcq = &iwcq->sc_cq.cq_uk;
3753 spin_lock_irqsave(&iwcq->lock, flags);
3755 if (iwcq->last_notify == IRDMA_CQ_COMPL_SOLICITED && notify_flags != IB_CQ_SOLICITED)
3758 if (!atomic_cmpxchg(&iwcq->armed, 0, 1) || promo_event) {
3759 iwcq->last_notify = cq_notify;
3764 (!irdma_cq_empty(iwcq) || !list_empty(&iwcq->cmpl_generated)))
3766 spin_unlock_irqrestore(&iwcq->lock, flags);