Lines Matching refs:tx_ring
357 struct tx_ring { struct
488 struct tx_ring tx_ring; member
1642 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_config_tx_dma_regs() local
1645 writel(upper_32_bits(tx_ring->tx_desc_ring_pa), &txdma->pr_base_hi); in et131x_config_tx_dma_regs()
1646 writel(lower_32_bits(tx_ring->tx_desc_ring_pa), &txdma->pr_base_lo); in et131x_config_tx_dma_regs()
1652 writel(upper_32_bits(tx_ring->tx_status_pa), &txdma->dma_wb_base_hi); in et131x_config_tx_dma_regs()
1653 writel(lower_32_bits(tx_ring->tx_status_pa), &txdma->dma_wb_base_lo); in et131x_config_tx_dma_regs()
1655 *tx_ring->tx_status = 0; in et131x_config_tx_dma_regs()
1658 tx_ring->send_idx = 0; in et131x_config_tx_dma_regs()
1755 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_init_send() local
1756 struct tcb *tcb = tx_ring->tcb_ring; in et131x_init_send()
1758 tx_ring->tcb_qhead = tcb; in et131x_init_send()
1768 tx_ring->tcb_qtail = tcb; in et131x_init_send()
1771 tx_ring->send_head = NULL; in et131x_init_send()
1772 tx_ring->send_tail = NULL; in et131x_init_send()
2360 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_tx_dma_memory_alloc() local
2363 tx_ring->tcb_ring = kcalloc(NUM_TCB, sizeof(struct tcb), in et131x_tx_dma_memory_alloc()
2365 if (!tx_ring->tcb_ring) in et131x_tx_dma_memory_alloc()
2369 tx_ring->tx_desc_ring = dma_alloc_coherent(&adapter->pdev->dev, in et131x_tx_dma_memory_alloc()
2371 &tx_ring->tx_desc_ring_pa, in et131x_tx_dma_memory_alloc()
2373 if (!tx_ring->tx_desc_ring) { in et131x_tx_dma_memory_alloc()
2379 tx_ring->tx_status = dma_alloc_coherent(&adapter->pdev->dev, in et131x_tx_dma_memory_alloc()
2381 &tx_ring->tx_status_pa, in et131x_tx_dma_memory_alloc()
2383 if (!tx_ring->tx_status_pa) { in et131x_tx_dma_memory_alloc()
2394 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_tx_dma_memory_free() local
2396 if (tx_ring->tx_desc_ring) { in et131x_tx_dma_memory_free()
2401 tx_ring->tx_desc_ring, in et131x_tx_dma_memory_free()
2402 tx_ring->tx_desc_ring_pa); in et131x_tx_dma_memory_free()
2403 tx_ring->tx_desc_ring = NULL; in et131x_tx_dma_memory_free()
2407 if (tx_ring->tx_status) { in et131x_tx_dma_memory_free()
2410 tx_ring->tx_status, in et131x_tx_dma_memory_free()
2411 tx_ring->tx_status_pa); in et131x_tx_dma_memory_free()
2413 tx_ring->tx_status = NULL; in et131x_tx_dma_memory_free()
2416 kfree(tx_ring->tcb_ring); in et131x_tx_dma_memory_free()
2431 struct tx_ring *tx_ring = &adapter->tx_ring; in nic_send_packet() local
2503 if (++tx_ring->since_irq == PARM_TX_NUM_BUFS_DEF) { in nic_send_packet()
2507 tx_ring->since_irq = 0; in nic_send_packet()
2518 tcb->index_start = tx_ring->send_idx; in nic_send_packet()
2521 thiscopy = NUM_DESC_PER_RING_TX - INDEX10(tx_ring->send_idx); in nic_send_packet()
2530 memcpy(tx_ring->tx_desc_ring + INDEX10(tx_ring->send_idx), in nic_send_packet()
2534 add_10bit(&tx_ring->send_idx, thiscopy); in nic_send_packet()
2536 if (INDEX10(tx_ring->send_idx) == 0 || in nic_send_packet()
2537 INDEX10(tx_ring->send_idx) == NUM_DESC_PER_RING_TX) { in nic_send_packet()
2538 tx_ring->send_idx &= ~ET_DMA10_MASK; in nic_send_packet()
2539 tx_ring->send_idx ^= ET_DMA10_WRAP; in nic_send_packet()
2543 memcpy(tx_ring->tx_desc_ring, in nic_send_packet()
2547 add_10bit(&tx_ring->send_idx, remainder); in nic_send_packet()
2550 if (INDEX10(tx_ring->send_idx) == 0) { in nic_send_packet()
2551 if (tx_ring->send_idx) in nic_send_packet()
2556 tcb->index = tx_ring->send_idx - 1; in nic_send_packet()
2561 if (tx_ring->send_tail) 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()
2570 tx_ring->used++; in nic_send_packet()
2575 writel(tx_ring->send_idx, &adapter->regs->txdma.service_request); in nic_send_packet()
2592 struct tx_ring *tx_ring = &adapter->tx_ring; in send_packet() local
2600 tcb = tx_ring->tcb_qhead; in send_packet()
2607 tx_ring->tcb_qhead = tcb->next; in send_packet()
2609 if (tx_ring->tcb_qhead == NULL) in send_packet()
2610 tx_ring->tcb_qtail = NULL; in send_packet()
2622 if (tx_ring->tcb_qtail) 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()
2632 WARN_ON(tx_ring->used > NUM_TCB); in send_packet()
2643 struct tx_ring *tx_ring = &adapter->tx_ring; in free_send_packet() local
2654 desc = tx_ring->tx_desc_ring + in free_send_packet()
2670 } while (desc != tx_ring->tx_desc_ring + INDEX10(tcb->index)); in free_send_packet()
2682 if (tx_ring->tcb_qtail) 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()
2690 WARN_ON(tx_ring->used < 0); in free_send_packet()
2699 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_free_busy_send_packets() local
2704 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2709 tx_ring->send_head = next; in et131x_free_busy_send_packets()
2712 tx_ring->send_tail = NULL; in et131x_free_busy_send_packets()
2714 tx_ring->used--; in et131x_free_busy_send_packets()
2723 tcb = tx_ring->send_head; in et131x_free_busy_send_packets()
2730 tx_ring->used = 0; in et131x_free_busy_send_packets()
2744 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_handle_send_pkts() local
2754 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2759 tx_ring->used--; in et131x_handle_send_pkts()
2760 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2762 tx_ring->send_tail = NULL; in et131x_handle_send_pkts()
2769 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2774 tx_ring->used--; in et131x_handle_send_pkts()
2775 tx_ring->send_head = tcb->next; in et131x_handle_send_pkts()
2777 tx_ring->send_tail = NULL; in et131x_handle_send_pkts()
2784 tcb = tx_ring->send_head; in et131x_handle_send_pkts()
2788 if (tx_ring->used <= NUM_TCB / 3) in et131x_handle_send_pkts()
3401 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_isr() local
3428 struct tcb *tcb = tx_ring->send_head; in et131x_isr()
3815 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_tx() local
3818 if (tx_ring->used >= NUM_TCB - 1 && !netif_queue_stopped(netdev)) in et131x_tx()
3825 if (tx_ring->used >= NUM_TCB) in et131x_tx()
3852 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_tx_timeout() local
3874 tcb = tx_ring->send_head; in et131x_tx_timeout()