Lines Matching refs:tx_ring
336 BUG_ON(tq->buf_info[eop_idx].sop_idx != tq->tx_ring.next2comp); in vmxnet3_unmap_pkt()
337 BUG_ON(VMXNET3_TXDESC_GET_EOP(&(tq->tx_ring.base[eop_idx].txd)) != 1); in vmxnet3_unmap_pkt()
343 VMXNET3_INC_RING_IDX_ONLY(eop_idx, tq->tx_ring.size); in vmxnet3_unmap_pkt()
345 while (tq->tx_ring.next2comp != eop_idx) { in vmxnet3_unmap_pkt()
346 vmxnet3_unmap_tx_buf(tq->buf_info + tq->tx_ring.next2comp, in vmxnet3_unmap_pkt()
354 vmxnet3_cmd_ring_adv_next2comp(&tq->tx_ring); in vmxnet3_unmap_pkt()
383 vmxnet3_cmd_ring_desc_avail(&tq->tx_ring) > in vmxnet3_tq_tx_complete()
400 while (tq->tx_ring.next2comp != tq->tx_ring.next2fill) { in vmxnet3_tq_cleanup()
403 tbi = tq->buf_info + tq->tx_ring.next2comp; in vmxnet3_tq_cleanup()
410 vmxnet3_cmd_ring_adv_next2comp(&tq->tx_ring); in vmxnet3_tq_cleanup()
414 for (i = 0; i < tq->tx_ring.size; i++) { in vmxnet3_tq_cleanup()
419 tq->tx_ring.gen = VMXNET3_INIT_GEN; in vmxnet3_tq_cleanup()
420 tq->tx_ring.next2fill = tq->tx_ring.next2comp = 0; in vmxnet3_tq_cleanup()
431 if (tq->tx_ring.base) { in vmxnet3_tq_destroy()
432 dma_free_coherent(&adapter->pdev->dev, tq->tx_ring.size * in vmxnet3_tq_destroy()
434 tq->tx_ring.base, tq->tx_ring.basePA); in vmxnet3_tq_destroy()
435 tq->tx_ring.base = NULL; in vmxnet3_tq_destroy()
451 tq->tx_ring.size * sizeof(tq->buf_info[0]), in vmxnet3_tq_destroy()
476 memset(tq->tx_ring.base, 0, tq->tx_ring.size * in vmxnet3_tq_init()
478 tq->tx_ring.next2fill = tq->tx_ring.next2comp = 0; in vmxnet3_tq_init()
479 tq->tx_ring.gen = VMXNET3_INIT_GEN; in vmxnet3_tq_init()
491 memset(tq->buf_info, 0, sizeof(tq->buf_info[0]) * tq->tx_ring.size); in vmxnet3_tq_init()
492 for (i = 0; i < tq->tx_ring.size; i++) in vmxnet3_tq_init()
505 BUG_ON(tq->tx_ring.base || tq->data_ring.base || in vmxnet3_tq_create()
508 tq->tx_ring.base = dma_alloc_coherent(&adapter->pdev->dev, in vmxnet3_tq_create()
509 tq->tx_ring.size * sizeof(struct Vmxnet3_TxDesc), in vmxnet3_tq_create()
510 &tq->tx_ring.basePA, GFP_KERNEL); in vmxnet3_tq_create()
511 if (!tq->tx_ring.base) { in vmxnet3_tq_create()
532 sz = tq->tx_ring.size * sizeof(tq->buf_info[0]); in vmxnet3_tq_create()
683 dw2 = (tq->tx_ring.gen ^ 0x1) << VMXNET3_TXD_GEN_SHIFT; in vmxnet3_map_pkt()
685 ctx->sop_txd = tq->tx_ring.base + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
691 tq->tx_ring.next2fill * in vmxnet3_map_pkt()
696 tbi = tq->buf_info + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
701 tq->tx_ring.next2fill, in vmxnet3_map_pkt()
704 vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); in vmxnet3_map_pkt()
707 dw2 = tq->tx_ring.gen << VMXNET3_TXD_GEN_SHIFT; in vmxnet3_map_pkt()
724 tbi = tq->buf_info + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
734 gdesc = tq->tx_ring.base + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
735 BUG_ON(gdesc->txd.gen == tq->tx_ring.gen); in vmxnet3_map_pkt()
743 tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr), in vmxnet3_map_pkt()
745 vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); in vmxnet3_map_pkt()
746 dw2 = tq->tx_ring.gen << VMXNET3_TXD_GEN_SHIFT; in vmxnet3_map_pkt()
759 tbi = tq->buf_info + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
776 gdesc = tq->tx_ring.base + tq->tx_ring.next2fill; in vmxnet3_map_pkt()
777 BUG_ON(gdesc->txd.gen == tq->tx_ring.gen); in vmxnet3_map_pkt()
785 tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr), in vmxnet3_map_pkt()
787 vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); in vmxnet3_map_pkt()
788 dw2 = tq->tx_ring.gen << VMXNET3_TXD_GEN_SHIFT; in vmxnet3_map_pkt()
799 tbi->sop_idx = ctx->sop_txd - tq->tx_ring.base; in vmxnet3_map_pkt()
895 tdd = tq->data_ring.base + tq->tx_ring.next2fill; in vmxnet3_parse_and_copy_hdr()
900 ctx->copy_size, tq->tx_ring.next2fill); in vmxnet3_parse_and_copy_hdr()
1003 if (count > vmxnet3_cmd_ring_desc_avail(&tq->tx_ring)) { in vmxnet3_tq_xmit()
1008 tq->tx_ring.next2comp, tq->tx_ring.next2fill); in vmxnet3_tq_xmit()
1092 tq->tx_ring.base), le64_to_cpu(gdesc->txd.addr), in vmxnet3_tq_xmit()
1102 tq->tx_ring.next2fill); in vmxnet3_tq_xmit()
2308 BUG_ON(adapter->tx_queue[i].tx_ring.base == NULL); in vmxnet3_setup_driver_shared()
2310 tqc->txRingBasePA = cpu_to_le64(tq->tx_ring.basePA); in vmxnet3_setup_driver_shared()
2314 tqc->txRingSize = cpu_to_le32(tq->tx_ring.size); in vmxnet3_setup_driver_shared()
2400 adapter->tx_queue[0].tx_ring.size, in vmxnet3_activate_dev()
2675 tq->tx_ring.size = tx_ring_size; in vmxnet3_create_queues()