Lines Matching refs:cq
750 int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int budget) in mlx4_en_process_rx_cq() argument
755 struct mlx4_en_rx_ring *ring = priv->rx_ring[cq->ring]; in mlx4_en_process_rx_cq()
777 index = cq->mcq.cons_index & ring->size_mask; in mlx4_en_process_rx_cq()
778 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
782 cq->mcq.cons_index & cq->size)) { in mlx4_en_process_rx_cq()
884 if (!mlx4_en_cq_busy_polling(cq) && in mlx4_en_process_rx_cq()
886 struct sk_buff *gro_skb = napi_get_frags(&cq->napi); in mlx4_en_process_rx_cq()
927 skb_record_rx_queue(gro_skb, cq->ring); in mlx4_en_process_rx_cq()
928 skb_mark_napi_id(gro_skb, &cq->napi); in mlx4_en_process_rx_cq()
937 napi_gro_frags(&cq->napi); in mlx4_en_process_rx_cq()
963 skb_record_rx_queue(skb, cq->ring); in mlx4_en_process_rx_cq()
984 skb_mark_napi_id(skb, &cq->napi); in mlx4_en_process_rx_cq()
986 if (!mlx4_en_cq_busy_polling(cq)) in mlx4_en_process_rx_cq()
987 napi_gro_receive(&cq->napi, skb); in mlx4_en_process_rx_cq()
995 ++cq->mcq.cons_index; in mlx4_en_process_rx_cq()
996 index = (cq->mcq.cons_index) & ring->size_mask; in mlx4_en_process_rx_cq()
997 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
1004 mlx4_cq_set_ci(&cq->mcq); in mlx4_en_process_rx_cq()
1006 ring->cons = cq->mcq.cons_index; in mlx4_en_process_rx_cq()
1015 struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); in mlx4_en_rx_irq() local
1016 struct mlx4_en_priv *priv = netdev_priv(cq->dev); in mlx4_en_rx_irq()
1019 napi_schedule_irqoff(&cq->napi); in mlx4_en_rx_irq()
1021 mlx4_en_arm_cq(priv, cq); in mlx4_en_rx_irq()
1027 struct mlx4_en_cq *cq = container_of(napi, struct mlx4_en_cq, napi); in mlx4_en_poll_rx_cq() local
1028 struct net_device *dev = cq->dev; in mlx4_en_poll_rx_cq()
1032 if (!mlx4_en_cq_lock_napi(cq)) in mlx4_en_poll_rx_cq()
1035 done = mlx4_en_process_rx_cq(dev, cq, budget); in mlx4_en_poll_rx_cq()
1037 mlx4_en_cq_unlock_napi(cq); in mlx4_en_poll_rx_cq()
1047 aff = irq_desc_get_irq_data(cq->irq_desc)->affinity; in mlx4_en_poll_rx_cq()
1060 mlx4_en_arm_cq(priv, cq); in mlx4_en_poll_rx_cq()