Lines Matching refs:tcb

349 struct tcb {  struct
350 struct tcb *next; /* Next entry in ring */ argument
361 struct tcb *tcb_ring; argument
364 struct tcb *tcb_qhead;
365 struct tcb *tcb_qtail;
368 struct tcb *send_head;
369 struct tcb *send_tail;
1753 struct tcb *tcb = tx_ring->tcb_ring; in et131x_init_send() local
1755 tx_ring->tcb_qhead = tcb; in et131x_init_send()
1757 memset(tcb, 0, sizeof(struct tcb) * NUM_TCB); in et131x_init_send()
1760 tcb->next = tcb + 1; in et131x_init_send()
1761 tcb++; in et131x_init_send()
1764 tcb--; in et131x_init_send()
1765 tx_ring->tcb_qtail = tcb; in et131x_init_send()
1766 tcb->next = NULL; in et131x_init_send()
2360 tx_ring->tcb_ring = kcalloc(NUM_TCB, sizeof(struct tcb), in et131x_tx_dma_memory_alloc()
2419 static int nic_send_packet(struct et131x_adapter *adapter, struct tcb *tcb) in nic_send_packet() argument
2425 struct sk_buff *skb = tcb->skb; in nic_send_packet()
2514 tcb->index_start = tx_ring->send_idx; in nic_send_packet()
2515 tcb->stale = 0; in nic_send_packet()
2548 tcb->index = NUM_DESC_PER_RING_TX - 1; in nic_send_packet()
2550 tcb->index = ET_DMA10_WRAP|(NUM_DESC_PER_RING_TX - 1); in nic_send_packet()
2552 tcb->index = tx_ring->send_idx - 1; in nic_send_packet()
2558 tx_ring->send_tail->next = tcb; in nic_send_packet()
2560 tx_ring->send_head = tcb; in nic_send_packet()
2562 tx_ring->send_tail = tcb; in nic_send_packet()
2564 WARN_ON(tcb->next != NULL); in nic_send_packet()
2586 struct tcb *tcb; in send_packet() local
2596 tcb = tx_ring->tcb_qhead; in send_packet()
2598 if (tcb == NULL) { in send_packet()
2603 tx_ring->tcb_qhead = tcb->next; in send_packet()
2610 tcb->skb = skb; in send_packet()
2611 tcb->next = NULL; in send_packet()
2613 status = nic_send_packet(adapter, tcb); in send_packet()
2619 tx_ring->tcb_qtail->next = tcb; in send_packet()
2622 tx_ring->tcb_qhead = tcb; in send_packet()
2624 tx_ring->tcb_qtail = tcb; in send_packet()
2634 struct tcb *tcb) in free_send_packet() argument
2642 if (tcb->skb) { in free_send_packet()
2643 stats->tx_bytes += tcb->skb->len; in free_send_packet()
2651 INDEX10(tcb->index_start); in free_send_packet()
2660 add_10bit(&tcb->index_start, 1); in free_send_packet()
2661 if (INDEX10(tcb->index_start) >= in free_send_packet()
2663 tcb->index_start &= ~ET_DMA10_MASK; in free_send_packet()
2664 tcb->index_start ^= ET_DMA10_WRAP; in free_send_packet()
2666 } while (desc != tx_ring->tx_desc_ring + INDEX10(tcb->index)); in free_send_packet()
2668 dev_kfree_skb_any(tcb->skb); in free_send_packet()
2671 memset(tcb, 0, sizeof(struct tcb)); in free_send_packet()
2679 tx_ring->tcb_qtail->next = tcb; in free_send_packet()
2681 tx_ring->tcb_qhead = tcb; in free_send_packet()
2683 tx_ring->tcb_qtail = tcb; in free_send_packet()
2692 struct tcb *tcb; in et131x_free_busy_send_packets() local
2700 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2702 while (tcb != NULL && freed < NUM_TCB) { in et131x_free_busy_send_packets()
2703 struct tcb *next = tcb->next; in et131x_free_busy_send_packets()
2715 free_send_packet(adapter, tcb); in et131x_free_busy_send_packets()
2719 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2738 struct tcb *tcb; in et131x_handle_send_pkts() local
2750 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2752 while (tcb && in et131x_handle_send_pkts()
2753 ((serviced ^ tcb->index) & ET_DMA10_WRAP) && in et131x_handle_send_pkts()
2754 index < INDEX10(tcb->index)) { in et131x_handle_send_pkts()
2756 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2757 if (tcb->next == NULL) in et131x_handle_send_pkts()
2761 free_send_packet(adapter, tcb); in et131x_handle_send_pkts()
2765 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2767 while (tcb && in et131x_handle_send_pkts()
2768 !((serviced ^ tcb->index) & ET_DMA10_WRAP) && in et131x_handle_send_pkts()
2769 index > (tcb->index & ET_DMA10_MASK)) { in et131x_handle_send_pkts()
2771 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2772 if (tcb->next == NULL) in et131x_handle_send_pkts()
2776 free_send_packet(adapter, tcb); in et131x_handle_send_pkts()
2780 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
3391 struct tcb *tcb = tx_ring->send_head; in et131x_isr() local
3393 if (tcb) in et131x_isr()
3394 if (++tcb->stale > 1) in et131x_isr()
3399 else if (tcb == NULL) in et131x_isr()
3807 struct tcb *tcb; in et131x_tx_timeout() local
3828 tcb = tx_ring->send_head; in et131x_tx_timeout()
3831 if (tcb) { in et131x_tx_timeout()
3832 tcb->count++; in et131x_tx_timeout()
3834 if (tcb->count > NIC_SEND_HANG_THRESHOLD) { in et131x_tx_timeout()
3837 tcb->index); in et131x_tx_timeout()