Lines Matching refs:cq
744 int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int budget) in mlx4_en_process_rx_cq() argument
749 struct mlx4_en_rx_ring *ring = priv->rx_ring[cq->ring]; in mlx4_en_process_rx_cq()
771 index = cq->mcq.cons_index & ring->size_mask; in mlx4_en_process_rx_cq()
772 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
776 cq->mcq.cons_index & cq->size)) { in mlx4_en_process_rx_cq()
878 if (!mlx4_en_cq_busy_polling(cq) && in mlx4_en_process_rx_cq()
880 struct sk_buff *gro_skb = napi_get_frags(&cq->napi); in mlx4_en_process_rx_cq()
929 skb_record_rx_queue(gro_skb, cq->ring); in mlx4_en_process_rx_cq()
930 skb_mark_napi_id(gro_skb, &cq->napi); in mlx4_en_process_rx_cq()
939 napi_gro_frags(&cq->napi); in mlx4_en_process_rx_cq()
965 skb_record_rx_queue(skb, cq->ring); in mlx4_en_process_rx_cq()
993 skb_mark_napi_id(skb, &cq->napi); in mlx4_en_process_rx_cq()
995 if (!mlx4_en_cq_busy_polling(cq)) in mlx4_en_process_rx_cq()
996 napi_gro_receive(&cq->napi, skb); in mlx4_en_process_rx_cq()
1004 ++cq->mcq.cons_index; in mlx4_en_process_rx_cq()
1005 index = (cq->mcq.cons_index) & ring->size_mask; in mlx4_en_process_rx_cq()
1006 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
1013 mlx4_cq_set_ci(&cq->mcq); in mlx4_en_process_rx_cq()
1015 ring->cons = cq->mcq.cons_index; in mlx4_en_process_rx_cq()
1024 struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); in mlx4_en_rx_irq() local
1025 struct mlx4_en_priv *priv = netdev_priv(cq->dev); in mlx4_en_rx_irq()
1028 napi_schedule_irqoff(&cq->napi); in mlx4_en_rx_irq()
1030 mlx4_en_arm_cq(priv, cq); in mlx4_en_rx_irq()
1036 struct mlx4_en_cq *cq = container_of(napi, struct mlx4_en_cq, napi); in mlx4_en_poll_rx_cq() local
1037 struct net_device *dev = cq->dev; in mlx4_en_poll_rx_cq()
1041 if (!mlx4_en_cq_lock_napi(cq)) in mlx4_en_poll_rx_cq()
1044 done = mlx4_en_process_rx_cq(dev, cq, budget); in mlx4_en_poll_rx_cq()
1046 mlx4_en_cq_unlock_napi(cq); in mlx4_en_poll_rx_cq()
1057 idata = irq_desc_get_irq_data(cq->irq_desc); in mlx4_en_poll_rx_cq()
1071 mlx4_en_arm_cq(priv, cq); in mlx4_en_poll_rx_cq()