Lines Matching refs:cqe
725 static int check_csum(struct mlx4_cqe *cqe, struct sk_buff *skb, void *va, in check_csum() argument
732 hw_checksum = csum_unfold((__force __sum16)cqe->checksum); in check_csum()
734 if (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_VLAN_PRESENT_MASK) && in check_csum()
740 if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4)) in check_csum()
743 else if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV6)) in check_csum()
754 struct mlx4_cqe *cqe; in mlx4_en_process_rx_cq() local
778 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
781 while (XNOR(cqe->owner_sr_opcode & MLX4_CQE_OWNER_MASK, in mlx4_en_process_rx_cq()
793 if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == in mlx4_en_process_rx_cq()
796 ((struct mlx4_err_cqe *)cqe)->vendor_err_syndrome, in mlx4_en_process_rx_cq()
797 ((struct mlx4_err_cqe *)cqe)->syndrome); in mlx4_en_process_rx_cq()
800 if (unlikely(cqe->badfcs_enc & MLX4_CQE_BAD_FCS)) { in mlx4_en_process_rx_cq()
843 length = be32_to_cpu(cqe->byte_cnt); in mlx4_en_process_rx_cq()
848 (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_L2_TUNNEL)); in mlx4_en_process_rx_cq()
851 if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_TCP | in mlx4_en_process_rx_cq()
853 if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) && in mlx4_en_process_rx_cq()
854 cqe->checksum == cpu_to_be16(0xffff)) { in mlx4_en_process_rx_cq()
863 (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4 | in mlx4_en_process_rx_cq()
898 if (check_csum(cqe, gro_skb, va, in mlx4_en_process_rx_cq()
914 if ((cqe->vlan_my_qpn & in mlx4_en_process_rx_cq()
917 u16 vid = 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()
931 timestamp = mlx4_en_get_cqe_ts(cqe); in mlx4_en_process_rx_cq()
954 if (check_csum(cqe, skb, skb->data, dev->features)) { in mlx4_en_process_rx_cq()
970 be32_to_cpu(cqe->immed_rss_invalid), in mlx4_en_process_rx_cq()
973 if ((be32_to_cpu(cqe->vlan_my_qpn) & in mlx4_en_process_rx_cq()
976 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
979 timestamp = mlx4_en_get_cqe_ts(cqe); 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()