Lines Matching refs:wq

139 static void enic_free_wq_buf(struct vnic_wq *wq, struct vnic_wq_buf *buf)  in enic_free_wq_buf()  argument
141 struct enic *enic = vnic_dev_priv(wq->vdev); in enic_free_wq_buf()
154 static void enic_wq_free_buf(struct vnic_wq *wq, in enic_wq_free_buf() argument
157 enic_free_wq_buf(wq, buf); in enic_wq_free_buf()
167 vnic_wq_service(&enic->wq[q_number], cq_desc, in enic_wq_service()
172 vnic_wq_desc_avail(&enic->wq[q_number]) >= in enic_wq_service()
187 error_status = vnic_wq_error_status(&enic->wq[i]); in enic_log_q_error()
355 static int enic_queue_wq_skb_cont(struct enic *enic, struct vnic_wq *wq, in enic_queue_wq_skb_cont() argument
370 enic_queue_wq_desc_cont(wq, skb, dma_addr, skb_frag_size(frag), in enic_queue_wq_skb_cont()
378 static int enic_queue_wq_skb_vlan(struct enic *enic, struct vnic_wq *wq, in enic_queue_wq_skb_vlan() argument
398 enic_queue_wq_desc(wq, skb, dma_addr, head_len, vlan_tag_insert, in enic_queue_wq_skb_vlan()
402 err = enic_queue_wq_skb_cont(enic, wq, skb, len_left, loopback); in enic_queue_wq_skb_vlan()
407 static int enic_queue_wq_skb_csum_l4(struct enic *enic, struct vnic_wq *wq, in enic_queue_wq_skb_csum_l4() argument
429 enic_queue_wq_desc_csum_l4(wq, skb, dma_addr, head_len, csum_offset, in enic_queue_wq_skb_csum_l4()
434 err = enic_queue_wq_skb_cont(enic, wq, skb, len_left, loopback); in enic_queue_wq_skb_csum_l4()
439 static int enic_queue_wq_skb_tso(struct enic *enic, struct vnic_wq *wq, in enic_queue_wq_skb_tso() argument
476 enic_queue_wq_desc_tso(wq, skb, dma_addr, len, mss, hdr_len, in enic_queue_wq_skb_tso()
502 enic_queue_wq_desc_cont(wq, skb, dma_addr, len, in enic_queue_wq_skb_tso()
515 struct vnic_wq *wq, struct sk_buff *skb) in enic_queue_wq_skb() argument
533 err = enic_queue_wq_skb_tso(enic, wq, skb, mss, in enic_queue_wq_skb()
537 err = enic_queue_wq_skb_csum_l4(enic, wq, skb, vlan_tag_insert, in enic_queue_wq_skb()
540 err = enic_queue_wq_skb_vlan(enic, wq, skb, vlan_tag_insert, in enic_queue_wq_skb()
545 buf = wq->to_use->prev; in enic_queue_wq_skb()
549 while (!buf->os_buf && (buf->next != wq->to_clean)) { in enic_queue_wq_skb()
550 enic_free_wq_buf(wq, buf); in enic_queue_wq_skb()
551 wq->ring.desc_avail++; in enic_queue_wq_skb()
554 wq->to_use = buf->next; in enic_queue_wq_skb()
564 struct vnic_wq *wq; in enic_hard_start_xmit() local
574 wq = &enic->wq[txq_map]; in enic_hard_start_xmit()
591 if (vnic_wq_desc_avail(wq) < in enic_hard_start_xmit()
600 enic_queue_wq_skb(enic, wq, skb); in enic_hard_start_xmit()
602 if (vnic_wq_desc_avail(wq) < MAX_SKB_FRAGS + ENIC_DESC_MAX_SPLITS) in enic_hard_start_xmit()
605 vnic_wq_doorbell(wq); in enic_hard_start_xmit()
1345 struct vnic_wq *wq = &enic->wq[wq_index]; in enic_poll_msix_wq() local
1352 wq_irq = wq->index; in enic_poll_msix_wq()
1500 int wq = enic_cq_wq(enic, i); in enic_request_intr() local
1507 enic->msix[intr].devid = &enic->napi[wq]; in enic_request_intr()
1668 vnic_wq_enable(&enic->wq[i]); in enic_open()
1743 err = vnic_wq_disable(&enic->wq[i]); in enic_stop()
1757 vnic_wq_clean(&enic->wq[i], enic_free_wq_buf); in enic_stop()