Lines Matching refs:tpd_ring
784 adapter->tpd_ring[0].count = 1024; in atl1c_sw_init()
866 struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[type]; in atl1c_clean_tx_ring() local
871 ring_count = tpd_ring->count; in atl1c_clean_tx_ring()
873 buffer_info = &tpd_ring->buffer_info[index]; in atl1c_clean_tx_ring()
878 memset(tpd_ring->desc, 0, sizeof(struct atl1c_tpd_desc) * in atl1c_clean_tx_ring()
880 atomic_set(&tpd_ring->next_to_clean, 0); in atl1c_clean_tx_ring()
881 tpd_ring->next_to_use = 0; in atl1c_clean_tx_ring()
913 struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring; in atl1c_init_ring_ptrs() local
920 tpd_ring[i].next_to_use = 0; in atl1c_init_ring_ptrs()
921 atomic_set(&tpd_ring[i].next_to_clean, 0); in atl1c_init_ring_ptrs()
922 buffer_info = tpd_ring[i].buffer_info; in atl1c_init_ring_ptrs()
923 for (j = 0; j < tpd_ring->count; j++) in atl1c_init_ring_ptrs()
954 if (adapter->tpd_ring[0].buffer_info) { in atl1c_free_ring_resources()
955 kfree(adapter->tpd_ring[0].buffer_info); in atl1c_free_ring_resources()
956 adapter->tpd_ring[0].buffer_info = NULL; in atl1c_free_ring_resources()
973 struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring; in atl1c_setup_ring_resources() local
985 tpd_ring[i].count = tpd_ring[0].count; in atl1c_setup_ring_resources()
989 size = sizeof(struct atl1c_buffer) * (tpd_ring->count * 2 + in atl1c_setup_ring_resources()
991 tpd_ring->buffer_info = kzalloc(size, GFP_KERNEL); in atl1c_setup_ring_resources()
992 if (unlikely(!tpd_ring->buffer_info)) in atl1c_setup_ring_resources()
996 tpd_ring[i].buffer_info = in atl1c_setup_ring_resources()
997 (tpd_ring->buffer_info + count); in atl1c_setup_ring_resources()
998 count += tpd_ring[i].count; in atl1c_setup_ring_resources()
1002 (tpd_ring->buffer_info + count); in atl1c_setup_ring_resources()
1012 sizeof(struct atl1c_tpd_desc) * tpd_ring->count * 2 + in atl1c_setup_ring_resources()
1025 tpd_ring[0].dma = roundup(ring_header->dma, 8); in atl1c_setup_ring_resources()
1026 offset = tpd_ring[0].dma - ring_header->dma; in atl1c_setup_ring_resources()
1028 tpd_ring[i].dma = ring_header->dma + offset; in atl1c_setup_ring_resources()
1029 tpd_ring[i].desc = (u8 *) ring_header->desc + offset; in atl1c_setup_ring_resources()
1030 tpd_ring[i].size = in atl1c_setup_ring_resources()
1031 sizeof(struct atl1c_tpd_desc) * tpd_ring[i].count; in atl1c_setup_ring_resources()
1032 offset += roundup(tpd_ring[i].size, 8); in atl1c_setup_ring_resources()
1050 kfree(tpd_ring->buffer_info); in atl1c_setup_ring_resources()
1059 struct atl1c_tpd_ring *tpd_ring = (struct atl1c_tpd_ring *) in atl1c_configure_des_ring() local
1060 adapter->tpd_ring; in atl1c_configure_des_ring()
1064 (u32)((tpd_ring[atl1c_trans_normal].dma & in atl1c_configure_des_ring()
1068 (u32)(tpd_ring[atl1c_trans_normal].dma & in atl1c_configure_des_ring()
1071 (u32)(tpd_ring[atl1c_trans_high].dma & in atl1c_configure_des_ring()
1074 (u32)(tpd_ring[0].count & TPD_RING_SIZE_MASK)); in atl1c_configure_des_ring()
1547 struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[type]; in atl1c_clean_tx_irq() local
1550 u16 next_to_clean = atomic_read(&tpd_ring->next_to_clean); in atl1c_clean_tx_irq()
1559 buffer_info = &tpd_ring->buffer_info[next_to_clean]; in atl1c_clean_tx_irq()
1561 if (++next_to_clean == tpd_ring->count) in atl1c_clean_tx_irq()
1563 atomic_set(&tpd_ring->next_to_clean, next_to_clean); in atl1c_clean_tx_irq()
1910 struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[type]; in atl1c_tpd_avail() local
1914 next_to_clean = atomic_read(&tpd_ring->next_to_clean); in atl1c_tpd_avail()
1915 next_to_use = tpd_ring->next_to_use; in atl1c_tpd_avail()
1919 (tpd_ring->count + next_to_clean - next_to_use - 1); in atl1c_tpd_avail()
1930 struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[type]; in atl1c_get_tpd() local
1934 next_to_use = tpd_ring->next_to_use; in atl1c_get_tpd()
1935 if (++tpd_ring->next_to_use == tpd_ring->count) in atl1c_get_tpd()
1936 tpd_ring->next_to_use = 0; in atl1c_get_tpd()
1937 tpd_desc = ATL1C_TPD_DESC(tpd_ring, next_to_use); in atl1c_get_tpd()
1945 struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring; in atl1c_get_tx_buffer() local
1947 return &tpd_ring->buffer_info[tpd - in atl1c_get_tx_buffer()
1948 (struct atl1c_tpd_desc *)tpd_ring->desc]; in atl1c_get_tx_buffer()
2073 struct atl1c_tpd_ring *tpd_ring = &adpt->tpd_ring[type]; in atl1c_tx_rollback() local
2078 first_index = first_tpd - (struct atl1c_tpd_desc *)tpd_ring->desc; in atl1c_tx_rollback()
2080 while (index != tpd_ring->next_to_use) { in atl1c_tx_rollback()
2081 tpd = ATL1C_TPD_DESC(tpd_ring, index); in atl1c_tx_rollback()
2082 buffer_info = &tpd_ring->buffer_info[index]; in atl1c_tx_rollback()
2085 if (++index == tpd_ring->count) in atl1c_tx_rollback()
2088 tpd_ring->next_to_use = first_index; in atl1c_tx_rollback()
2193 struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[type]; in atl1c_tx_queue() local
2197 AT_WRITE_REGW(&adapter->hw, reg, tpd_ring->next_to_use); in atl1c_tx_queue()