Lines Matching refs:tcb

347 struct tcb {  struct
348 struct tcb *next; /* Next entry in ring */ argument
359 struct tcb *tcb_ring; argument
362 struct tcb *tcb_qhead;
363 struct tcb *tcb_qtail;
366 struct tcb *send_head;
367 struct tcb *send_tail;
1756 struct tcb *tcb = tx_ring->tcb_ring; in et131x_init_send() local
1758 tx_ring->tcb_qhead = tcb; in et131x_init_send()
1760 memset(tcb, 0, sizeof(struct tcb) * NUM_TCB); in et131x_init_send()
1763 tcb->next = tcb + 1; in et131x_init_send()
1764 tcb++; in et131x_init_send()
1767 tcb--; in et131x_init_send()
1768 tx_ring->tcb_qtail = tcb; in et131x_init_send()
1769 tcb->next = NULL; in et131x_init_send()
2363 tx_ring->tcb_ring = kcalloc(NUM_TCB, sizeof(struct tcb), in et131x_tx_dma_memory_alloc()
2420 static int nic_send_packet(struct et131x_adapter *adapter, struct tcb *tcb) in nic_send_packet() argument
2426 struct sk_buff *skb = tcb->skb; in nic_send_packet()
2518 tcb->index_start = tx_ring->send_idx; in nic_send_packet()
2519 tcb->stale = 0; in nic_send_packet()
2552 tcb->index = NUM_DESC_PER_RING_TX - 1; in nic_send_packet()
2554 tcb->index = ET_DMA10_WRAP|(NUM_DESC_PER_RING_TX - 1); in nic_send_packet()
2556 tcb->index = tx_ring->send_idx - 1; in nic_send_packet()
2562 tx_ring->send_tail->next = tcb; in nic_send_packet()
2564 tx_ring->send_head = tcb; in nic_send_packet()
2566 tx_ring->send_tail = tcb; in nic_send_packet()
2568 WARN_ON(tcb->next != NULL); in nic_send_packet()
2590 struct tcb *tcb; in send_packet() local
2600 tcb = tx_ring->tcb_qhead; in send_packet()
2602 if (tcb == NULL) { in send_packet()
2607 tx_ring->tcb_qhead = tcb->next; in send_packet()
2614 tcb->skb = skb; in send_packet()
2615 tcb->next = NULL; in send_packet()
2617 status = nic_send_packet(adapter, tcb); in send_packet()
2623 tx_ring->tcb_qtail->next = tcb; in send_packet()
2626 tx_ring->tcb_qhead = tcb; in send_packet()
2628 tx_ring->tcb_qtail = tcb; in send_packet()
2638 struct tcb *tcb) in free_send_packet() argument
2646 if (tcb->skb) { in free_send_packet()
2647 stats->tx_bytes += tcb->skb->len; in free_send_packet()
2655 INDEX10(tcb->index_start); in free_send_packet()
2664 add_10bit(&tcb->index_start, 1); in free_send_packet()
2665 if (INDEX10(tcb->index_start) >= in free_send_packet()
2667 tcb->index_start &= ~ET_DMA10_MASK; in free_send_packet()
2668 tcb->index_start ^= ET_DMA10_WRAP; in free_send_packet()
2670 } while (desc != tx_ring->tx_desc_ring + INDEX10(tcb->index)); in free_send_packet()
2672 dev_kfree_skb_any(tcb->skb); in free_send_packet()
2675 memset(tcb, 0, sizeof(struct tcb)); in free_send_packet()
2683 tx_ring->tcb_qtail->next = tcb; in free_send_packet()
2685 tx_ring->tcb_qhead = tcb; in free_send_packet()
2687 tx_ring->tcb_qtail = tcb; in free_send_packet()
2696 struct tcb *tcb; in et131x_free_busy_send_packets() local
2704 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2706 while (tcb != NULL && freed < NUM_TCB) { in et131x_free_busy_send_packets()
2707 struct tcb *next = tcb->next; in et131x_free_busy_send_packets()
2719 free_send_packet(adapter, tcb); in et131x_free_busy_send_packets()
2723 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2742 struct tcb *tcb; in et131x_handle_send_pkts() local
2754 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2756 while (tcb && in et131x_handle_send_pkts()
2757 ((serviced ^ tcb->index) & ET_DMA10_WRAP) && in et131x_handle_send_pkts()
2758 index < INDEX10(tcb->index)) { in et131x_handle_send_pkts()
2760 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2761 if (tcb->next == NULL) in et131x_handle_send_pkts()
2765 free_send_packet(adapter, tcb); in et131x_handle_send_pkts()
2769 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2771 while (tcb && in et131x_handle_send_pkts()
2772 !((serviced ^ tcb->index) & ET_DMA10_WRAP) && in et131x_handle_send_pkts()
2773 index > (tcb->index & ET_DMA10_MASK)) { in et131x_handle_send_pkts()
2775 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2776 if (tcb->next == NULL) in et131x_handle_send_pkts()
2780 free_send_packet(adapter, tcb); in et131x_handle_send_pkts()
2784 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
3428 struct tcb *tcb = tx_ring->send_head; in et131x_isr() local
3430 if (tcb) in et131x_isr()
3431 if (++tcb->stale > 1) in et131x_isr()
3436 else if (tcb == NULL) in et131x_isr()
3853 struct tcb *tcb; in et131x_tx_timeout() local
3874 tcb = tx_ring->send_head; in et131x_tx_timeout()
3877 if (tcb) { in et131x_tx_timeout()
3878 tcb->count++; in et131x_tx_timeout()
3880 if (tcb->count > NIC_SEND_HANG_THRESHOLD) { in et131x_tx_timeout()
3883 tcb->index); in et131x_tx_timeout()