Lines Matching refs:cqe
719 static int check_csum(struct mlx4_cqe *cqe, struct sk_buff *skb, void *va, in check_csum() argument
726 hw_checksum = csum_unfold((__force __sum16)cqe->checksum); in check_csum()
728 if (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_CVLAN_PRESENT_MASK) && in check_csum()
734 if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4)) in check_csum()
737 else if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV6)) in check_csum()
748 struct mlx4_cqe *cqe; in mlx4_en_process_rx_cq() local
772 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
775 while (XNOR(cqe->owner_sr_opcode & MLX4_CQE_OWNER_MASK, in mlx4_en_process_rx_cq()
787 if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == in mlx4_en_process_rx_cq()
790 ((struct mlx4_err_cqe *)cqe)->vendor_err_syndrome, in mlx4_en_process_rx_cq()
791 ((struct mlx4_err_cqe *)cqe)->syndrome); in mlx4_en_process_rx_cq()
794 if (unlikely(cqe->badfcs_enc & MLX4_CQE_BAD_FCS)) { in mlx4_en_process_rx_cq()
837 length = be32_to_cpu(cqe->byte_cnt); in mlx4_en_process_rx_cq()
842 (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_L2_TUNNEL)); in mlx4_en_process_rx_cq()
845 if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_TCP | in mlx4_en_process_rx_cq()
847 if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) && in mlx4_en_process_rx_cq()
848 cqe->checksum == cpu_to_be16(0xffff)) { in mlx4_en_process_rx_cq()
857 (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4 | in mlx4_en_process_rx_cq()
892 if (check_csum(cqe, gro_skb, va, in mlx4_en_process_rx_cq()
908 if ((cqe->vlan_my_qpn & in mlx4_en_process_rx_cq()
911 u16 vid = be16_to_cpu(cqe->sl_vid); in mlx4_en_process_rx_cq()
914 } else if ((be32_to_cpu(cqe->vlan_my_qpn) & in mlx4_en_process_rx_cq()
919 be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
924 be32_to_cpu(cqe->immed_rss_invalid), in mlx4_en_process_rx_cq()
933 timestamp = mlx4_en_get_cqe_ts(cqe); in mlx4_en_process_rx_cq()
956 if (check_csum(cqe, skb, skb->data, dev->features)) { in mlx4_en_process_rx_cq()
972 be32_to_cpu(cqe->immed_rss_invalid), in mlx4_en_process_rx_cq()
977 if ((be32_to_cpu(cqe->vlan_my_qpn) & in mlx4_en_process_rx_cq()
980 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
981 else if ((be32_to_cpu(cqe->vlan_my_qpn) & in mlx4_en_process_rx_cq()
985 be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
988 timestamp = mlx4_en_get_cqe_ts(cqe); 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()