Lines Matching refs:tx

695 			    struct ipoib_cm_tx *tx,  in post_send()  argument
705 return ib_post_send(tx->qp, &priv->tx_wr.wr, &bad_wr); in post_send()
708 void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_tx *tx) in ipoib_cm_send() argument
714 if (unlikely(skb->len > tx->mtu)) { in ipoib_cm_send()
716 skb->len, tx->mtu); in ipoib_cm_send()
719 ipoib_cm_skb_too_long(dev, skb, tx->mtu - IPOIB_ENCAP_LEN); in ipoib_cm_send()
724 tx->tx_head, skb->len, tx->qp->qp_num); in ipoib_cm_send()
733 tx_req = &tx->tx_ring[tx->tx_head & (ipoib_sendq_size - 1)]; in ipoib_cm_send()
745 rc = post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), tx_req); in ipoib_cm_send()
753 ++tx->tx_head; in ipoib_cm_send()
757 tx->qp->qp_num); in ipoib_cm_send()
772 struct ipoib_cm_tx *tx = wc->qp->qp_context; in ipoib_cm_handle_tx_wc() local
786 tx_req = &tx->tx_ring[wr_id]; in ipoib_cm_handle_tx_wc()
798 ++tx->tx_tail; in ipoib_cm_handle_tx_wc()
813 neigh = tx->neigh; in ipoib_cm_handle_tx_wc()
819 tx->neigh = NULL; in ipoib_cm_handle_tx_wc()
822 if (test_and_clear_bit(IPOIB_FLAG_INITIALIZED, &tx->flags)) { in ipoib_cm_handle_tx_wc()
823 list_move(&tx->list, &priv->cm.reap_list); in ipoib_cm_handle_tx_wc()
827 clear_bit(IPOIB_FLAG_OPER_UP, &tx->flags); in ipoib_cm_handle_tx_wc()
1016 static struct ib_qp *ipoib_cm_create_tx_qp(struct net_device *dev, struct ipoib_cm_tx *tx) in ipoib_cm_create_tx_qp() argument
1027 .qp_context = tx, in ipoib_cm_create_tx_qp()
1218 struct ipoib_cm_tx *tx = cm_id->context; in ipoib_cm_tx_handler() local
1219 struct ipoib_dev_priv *priv = netdev_priv(tx->dev); in ipoib_cm_tx_handler()
1243 neigh = tx->neigh; in ipoib_cm_tx_handler()
1249 tx->neigh = NULL; in ipoib_cm_tx_handler()
1252 if (test_and_clear_bit(IPOIB_FLAG_INITIALIZED, &tx->flags)) { in ipoib_cm_tx_handler()
1253 list_move(&tx->list, &priv->cm.reap_list); in ipoib_cm_tx_handler()
1271 struct ipoib_cm_tx *tx; in ipoib_cm_create_tx() local
1273 tx = kzalloc(sizeof *tx, GFP_ATOMIC); in ipoib_cm_create_tx()
1274 if (!tx) in ipoib_cm_create_tx()
1277 neigh->cm = tx; in ipoib_cm_create_tx()
1278 tx->neigh = neigh; in ipoib_cm_create_tx()
1279 tx->path = path; in ipoib_cm_create_tx()
1280 tx->dev = dev; in ipoib_cm_create_tx()
1281 list_add(&tx->list, &priv->cm.start_list); in ipoib_cm_create_tx()
1282 set_bit(IPOIB_FLAG_INITIALIZED, &tx->flags); in ipoib_cm_create_tx()
1284 return tx; in ipoib_cm_create_tx()
1287 void ipoib_cm_destroy_tx(struct ipoib_cm_tx *tx) in ipoib_cm_destroy_tx() argument
1289 struct ipoib_dev_priv *priv = netdev_priv(tx->dev); in ipoib_cm_destroy_tx()
1291 if (test_and_clear_bit(IPOIB_FLAG_INITIALIZED, &tx->flags)) { in ipoib_cm_destroy_tx()
1293 list_move(&tx->list, &priv->cm.reap_list); in ipoib_cm_destroy_tx()
1296 tx->neigh->daddr + 4); in ipoib_cm_destroy_tx()
1297 tx->neigh = NULL; in ipoib_cm_destroy_tx()