Lines Matching refs:tx_ring
636 hw->tpd_thresh = adapter->tx_ring.count / 2; in atl1e_sw_init()
664 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_clean_tx_ring() local
669 if (tx_ring->desc == NULL || tx_ring->tx_buffer == NULL) in atl1e_clean_tx_ring()
672 ring_count = tx_ring->count; in atl1e_clean_tx_ring()
675 tx_buffer = &tx_ring->tx_buffer[index]; in atl1e_clean_tx_ring()
688 tx_buffer = &tx_ring->tx_buffer[index]; in atl1e_clean_tx_ring()
695 memset(tx_ring->desc, 0, sizeof(struct atl1e_tpd_desc) * in atl1e_clean_tx_ring()
697 memset(tx_ring->tx_buffer, 0, sizeof(struct atl1e_tx_buffer) * in atl1e_clean_tx_ring()
728 *ring_size = ((u32)(adapter->tx_ring.count * in atl1e_cal_ring_size()
754 rwlock_init(&adapter->tx_ring.tx_lock); in atl1e_init_ring_resources()
762 struct atl1e_tx_ring *tx_ring = NULL; in atl1e_init_ring_ptrs() local
767 tx_ring = &adapter->tx_ring; in atl1e_init_ring_ptrs()
771 tx_ring->next_to_use = 0; in atl1e_init_ring_ptrs()
772 atomic_set(&tx_ring->next_to_clean, 0); in atl1e_init_ring_ptrs()
803 if (adapter->tx_ring.tx_buffer) { in atl1e_free_ring_resources()
804 kfree(adapter->tx_ring.tx_buffer); in atl1e_free_ring_resources()
805 adapter->tx_ring.tx_buffer = NULL; in atl1e_free_ring_resources()
818 struct atl1e_tx_ring *tx_ring; in atl1e_setup_ring_resources() local
828 tx_ring = &adapter->tx_ring; in atl1e_setup_ring_resources()
845 tx_ring->dma = roundup(adapter->ring_dma, 8); in atl1e_setup_ring_resources()
846 offset = tx_ring->dma - adapter->ring_dma; in atl1e_setup_ring_resources()
847 tx_ring->desc = adapter->ring_vir_addr + offset; in atl1e_setup_ring_resources()
848 size = sizeof(struct atl1e_tx_buffer) * (tx_ring->count); in atl1e_setup_ring_resources()
849 tx_ring->tx_buffer = kzalloc(size, GFP_KERNEL); in atl1e_setup_ring_resources()
850 if (tx_ring->tx_buffer == NULL) { in atl1e_setup_ring_resources()
856 offset += (sizeof(struct atl1e_tpd_desc) * tx_ring->count); in atl1e_setup_ring_resources()
870 tx_ring->cmb_dma = adapter->ring_dma + offset; in atl1e_setup_ring_resources()
871 tx_ring->cmb = adapter->ring_vir_addr + offset; in atl1e_setup_ring_resources()
906 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_configure_des_ring() local
913 (u32)((tx_ring->dma) & AT_DMA_LO_ADDR_MASK)); in atl1e_configure_des_ring()
914 AT_WRITE_REG(hw, REG_TPD_RING_SIZE, (u16)(tx_ring->count)); in atl1e_configure_des_ring()
916 (u32)((tx_ring->cmb_dma) & AT_DMA_LO_ADDR_MASK)); in atl1e_configure_des_ring()
1248 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_clean_tx_irq() local
1251 u16 next_to_clean = atomic_read(&tx_ring->next_to_clean); in atl1e_clean_tx_irq()
1254 tx_buffer = &tx_ring->tx_buffer[next_to_clean]; in atl1e_clean_tx_irq()
1270 if (++next_to_clean == tx_ring->count) in atl1e_clean_tx_irq()
1274 atomic_set(&tx_ring->next_to_clean, next_to_clean); in atl1e_clean_tx_irq()
1571 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_tpd_avail() local
1575 next_to_clean = atomic_read(&tx_ring->next_to_clean); in atl1e_tpd_avail()
1576 next_to_use = tx_ring->next_to_use; in atl1e_tpd_avail()
1580 (tx_ring->count + next_to_clean - next_to_use - 1); in atl1e_tpd_avail()
1590 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_get_tpd() local
1593 next_to_use = tx_ring->next_to_use; in atl1e_get_tpd()
1594 if (++tx_ring->next_to_use == tx_ring->count) in atl1e_get_tpd()
1595 tx_ring->next_to_use = 0; in atl1e_get_tpd()
1597 memset(&tx_ring->desc[next_to_use], 0, sizeof(struct atl1e_tpd_desc)); in atl1e_get_tpd()
1598 return &tx_ring->desc[next_to_use]; in atl1e_get_tpd()
1604 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_get_tx_buffer() local
1606 return &tx_ring->tx_buffer[tpd - tx_ring->desc]; in atl1e_get_tx_buffer()
1722 int ring_start = adapter->tx_ring.next_to_use; in atl1e_tx_map()
1768 ring_end = adapter->tx_ring.next_to_use; in atl1e_tx_map()
1769 adapter->tx_ring.next_to_use = ring_start; in atl1e_tx_map()
1770 while (adapter->tx_ring.next_to_use != ring_end) { in atl1e_tx_map()
1777 adapter->tx_ring.next_to_use = ring_start; in atl1e_tx_map()
1819 ring_end = adapter->tx_ring.next_to_use; in atl1e_tx_map()
1820 adapter->tx_ring.next_to_use = ring_start; in atl1e_tx_map()
1821 while (adapter->tx_ring.next_to_use != ring_end) { in atl1e_tx_map()
1829 adapter->tx_ring.next_to_use = ring_start; in atl1e_tx_map()
1856 struct atl1e_tx_ring *tx_ring = &adapter->tx_ring; in atl1e_tx_queue() local
1862 AT_WRITE_REG(&adapter->hw, REG_MB_TPD_PROD_IDX, tx_ring->next_to_use); in atl1e_tx_queue()