Lines Matching refs:tx_desc
246 struct mlx4_en_tx_desc *tx_desc = ring->buf + index * TXBB_SIZE; in mlx4_en_stamp_wqe() local
249 __be32 *ptr = (__be32 *)tx_desc; in mlx4_en_stamp_wqe()
253 if (likely((void *)tx_desc + tx_info->nr_txbb * TXBB_SIZE <= end)) { in mlx4_en_stamp_wqe()
280 struct mlx4_en_tx_desc *tx_desc = ring->buf + index * TXBB_SIZE; in mlx4_en_free_tx_desc() local
281 struct mlx4_wqe_data_seg *data = (void *) tx_desc + tx_info->data_offset; in mlx4_en_free_tx_desc()
300 if (likely((void *) tx_desc + tx_info->nr_txbb * TXBB_SIZE <= end)) { in mlx4_en_free_tx_desc()
635 static void build_inline_wqe(struct mlx4_en_tx_desc *tx_desc, in build_inline_wqe() argument
641 struct mlx4_wqe_inline_seg *inl = &tx_desc->inl; in build_inline_wqe()
713 struct mlx4_en_tx_desc *tx_desc; in mlx4_en_xmit() local
774 tx_desc = ring->buf + index * TXBB_SIZE; in mlx4_en_xmit()
776 tx_desc = (struct mlx4_en_tx_desc *) ring->bounce_buf; in mlx4_en_xmit()
785 data = &tx_desc->data; in mlx4_en_xmit()
787 data = ((void *)&tx_desc->lso + ALIGN(lso_header_size + 4, in mlx4_en_xmit()
791 tx_info->data_offset = (void *)data - (void *)tx_desc; in mlx4_en_xmit()
857 tx_desc->ctrl.srcrb_flags = priv->ctrl_flags; in mlx4_en_xmit()
860 tx_desc->ctrl.srcrb_flags |= cpu_to_be32(MLX4_WQE_CTRL_IP_CSUM | in mlx4_en_xmit()
863 tx_desc->ctrl.srcrb_flags |= cpu_to_be32(MLX4_WQE_CTRL_IP_CSUM); in mlx4_en_xmit()
874 tx_desc->ctrl.srcrb_flags16[0] = get_unaligned((__be16 *)ethh->h_dest); in mlx4_en_xmit()
875 tx_desc->ctrl.imm = get_unaligned((__be32 *)(ethh->h_dest + 2)); in mlx4_en_xmit()
888 tx_desc->lso.mss_hdr_size = cpu_to_be32( in mlx4_en_xmit()
893 memcpy(tx_desc->lso.header, skb->data, lso_header_size); in mlx4_en_xmit()
914 build_inline_wqe(tx_desc, skb, shinfo, real_size, &vlan_tag, in mlx4_en_xmit()
929 tx_desc = mlx4_en_bounce_to_desc(priv, ring, index, desc_size); in mlx4_en_xmit()
945 tx_desc->ctrl.bf_qpn = ring->doorbell_qpn | in mlx4_en_xmit()
953 tx_desc->ctrl.owner_opcode = op_own; in mlx4_en_xmit()
957 mlx4_bf_copy(ring->bf.reg + ring->bf.offset, &tx_desc->ctrl, in mlx4_en_xmit()
964 tx_desc->ctrl.vlan_tag = cpu_to_be16(vlan_tag); in mlx4_en_xmit()
966 tx_desc->ctrl.ins_vlan = MLX4_WQE_CTRL_INS_SVLAN; in mlx4_en_xmit()
968 tx_desc->ctrl.ins_vlan = MLX4_WQE_CTRL_INS_CVLAN; in mlx4_en_xmit()
970 tx_desc->ctrl.ins_vlan = 0; in mlx4_en_xmit()
972 tx_desc->ctrl.fence_size = real_size; in mlx4_en_xmit()
978 tx_desc->ctrl.owner_opcode = op_own; in mlx4_en_xmit()