Lines Matching refs:tx
947 struct qib_verbs_txreq *tx; in __get_txreq() local
959 tx = list_entry(l, struct qib_verbs_txreq, txreq.list); in __get_txreq()
970 tx = ERR_PTR(-EBUSY); in __get_txreq()
972 return tx; in __get_txreq()
978 struct qib_verbs_txreq *tx; in get_txreq() local
988 tx = list_entry(l, struct qib_verbs_txreq, txreq.list); in get_txreq()
992 tx = __get_txreq(dev, qp); in get_txreq()
994 return tx; in get_txreq()
997 void qib_put_txreq(struct qib_verbs_txreq *tx) in qib_put_txreq() argument
1003 qp = tx->qp; in qib_put_txreq()
1008 if (tx->mr) { in qib_put_txreq()
1009 qib_put_mr(tx->mr); in qib_put_txreq()
1010 tx->mr = NULL; in qib_put_txreq()
1012 if (tx->txreq.flags & QIB_SDMA_TXREQ_F_FREEBUF) { in qib_put_txreq()
1013 tx->txreq.flags &= ~QIB_SDMA_TXREQ_F_FREEBUF; in qib_put_txreq()
1015 tx->txreq.addr, tx->hdr_dwords << 2, in qib_put_txreq()
1017 kfree(tx->align_buf); in qib_put_txreq()
1023 list_add(&tx->txreq.list, &dev->txreq_free); in qib_put_txreq()
1096 struct qib_verbs_txreq *tx = in sdma_complete() local
1098 struct qib_qp *qp = tx->qp; in sdma_complete()
1101 if (tx->wqe) in sdma_complete()
1102 qib_send_complete(qp, tx->wqe, IB_WC_SUCCESS); in sdma_complete()
1106 if (tx->txreq.flags & QIB_SDMA_TXREQ_F_FREEBUF) in sdma_complete()
1107 hdr = &tx->align_buf->hdr; in sdma_complete()
1111 hdr = &dev->pio_hdrs[tx->hdr_inx].hdr; in sdma_complete()
1125 qib_put_txreq(tx); in sdma_complete()
1159 struct qib_verbs_txreq *tx; in qib_verbs_send_dma() local
1165 tx = qp->s_tx; in qib_verbs_send_dma()
1166 if (tx) { in qib_verbs_send_dma()
1169 ret = qib_sdma_verbs_send(ppd, tx->ss, tx->dwords, tx); in qib_verbs_send_dma()
1173 tx = get_txreq(dev, qp); in qib_verbs_send_dma()
1174 if (IS_ERR(tx)) in qib_verbs_send_dma()
1179 tx->qp = qp; in qib_verbs_send_dma()
1181 tx->wqe = qp->s_wqe; in qib_verbs_send_dma()
1182 tx->mr = qp->s_rdma_mr; in qib_verbs_send_dma()
1185 tx->txreq.callback = sdma_complete; in qib_verbs_send_dma()
1187 tx->txreq.flags = QIB_SDMA_TXREQ_F_HEADTOHOST; in qib_verbs_send_dma()
1189 tx->txreq.flags = QIB_SDMA_TXREQ_F_INTREQ; in qib_verbs_send_dma()
1191 tx->txreq.flags |= QIB_SDMA_TXREQ_F_USELARGEBUF; in qib_verbs_send_dma()
1204 phdr = &dev->pio_hdrs[tx->hdr_inx]; in qib_verbs_send_dma()
1208 tx->txreq.flags |= QIB_SDMA_TXREQ_F_FREEDESC; in qib_verbs_send_dma()
1209 tx->txreq.sg_count = ndesc; in qib_verbs_send_dma()
1210 tx->txreq.addr = dev->pio_hdrs_phys + in qib_verbs_send_dma()
1211 tx->hdr_inx * sizeof(struct qib_pio_header); in qib_verbs_send_dma()
1212 tx->hdr_dwords = hdrwords + 2; /* add PBC length */ in qib_verbs_send_dma()
1213 ret = qib_sdma_verbs_send(ppd, ss, dwords, tx); in qib_verbs_send_dma()
1218 tx->hdr_dwords = plen + 1; in qib_verbs_send_dma()
1219 phdr = kmalloc(tx->hdr_dwords << 2, GFP_ATOMIC); in qib_verbs_send_dma()
1227 tx->txreq.addr = dma_map_single(&dd->pcidev->dev, phdr, in qib_verbs_send_dma()
1228 tx->hdr_dwords << 2, DMA_TO_DEVICE); in qib_verbs_send_dma()
1229 if (dma_mapping_error(&dd->pcidev->dev, tx->txreq.addr)) in qib_verbs_send_dma()
1231 tx->align_buf = phdr; in qib_verbs_send_dma()
1232 tx->txreq.flags |= QIB_SDMA_TXREQ_F_FREEBUF; in qib_verbs_send_dma()
1233 tx->txreq.sg_count = 1; in qib_verbs_send_dma()
1234 ret = qib_sdma_verbs_send(ppd, NULL, 0, tx); in qib_verbs_send_dma()
1240 qib_put_txreq(tx); in qib_verbs_send_dma()
1247 ret = PTR_ERR(tx); in qib_verbs_send_dma()
2170 struct qib_verbs_txreq *tx; in qib_register_ib_device() local
2172 tx = kzalloc(sizeof(*tx), GFP_KERNEL); in qib_register_ib_device()
2173 if (!tx) { in qib_register_ib_device()
2177 tx->hdr_inx = i; in qib_register_ib_device()
2178 list_add(&tx->txreq.list, &dev->txreq_free); in qib_register_ib_device()
2300 struct qib_verbs_txreq *tx; in qib_register_ib_device() local
2303 tx = list_entry(l, struct qib_verbs_txreq, txreq.list); in qib_register_ib_device()
2304 kfree(tx); in qib_register_ib_device()
2354 struct qib_verbs_txreq *tx; in qib_unregister_ib_device() local
2357 tx = list_entry(l, struct qib_verbs_txreq, txreq.list); in qib_unregister_ib_device()
2358 kfree(tx); in qib_unregister_ib_device()