Lines Matching refs:tx_pool

628 			     struct ibmvnic_tx_pool *tx_pool)  in reset_one_tx_pool()  argument
632 rc = reset_long_term_buff(adapter, &tx_pool->long_term_buff); in reset_one_tx_pool()
636 memset(tx_pool->tx_buff, 0, in reset_one_tx_pool()
637 tx_pool->num_buffers * in reset_one_tx_pool()
640 for (i = 0; i < tx_pool->num_buffers; i++) in reset_one_tx_pool()
641 tx_pool->free_map[i] = i; in reset_one_tx_pool()
643 tx_pool->consumer_index = 0; in reset_one_tx_pool()
644 tx_pool->producer_index = 0; in reset_one_tx_pool()
654 if (!adapter->tx_pool) in reset_tx_pools()
662 rc = reset_one_tx_pool(adapter, &adapter->tx_pool[i]); in reset_tx_pools()
682 struct ibmvnic_tx_pool *tx_pool) in release_one_tx_pool() argument
684 kfree(tx_pool->tx_buff); in release_one_tx_pool()
685 kfree(tx_pool->free_map); in release_one_tx_pool()
686 free_long_term_buff(adapter, &tx_pool->long_term_buff); in release_one_tx_pool()
693 if (!adapter->tx_pool) in release_tx_pools()
697 release_one_tx_pool(adapter, &adapter->tx_pool[i]); in release_tx_pools()
701 kfree(adapter->tx_pool); in release_tx_pools()
702 adapter->tx_pool = NULL; in release_tx_pools()
709 struct ibmvnic_tx_pool *tx_pool, in init_one_tx_pool() argument
715 tx_pool->tx_buff = kcalloc(num_entries, in init_one_tx_pool()
718 if (!tx_pool->tx_buff) in init_one_tx_pool()
721 if (alloc_long_term_buff(adapter, &tx_pool->long_term_buff, in init_one_tx_pool()
725 tx_pool->free_map = kcalloc(num_entries, sizeof(int), GFP_KERNEL); in init_one_tx_pool()
726 if (!tx_pool->free_map) in init_one_tx_pool()
730 tx_pool->free_map[i] = i; in init_one_tx_pool()
732 tx_pool->consumer_index = 0; in init_one_tx_pool()
733 tx_pool->producer_index = 0; in init_one_tx_pool()
734 tx_pool->num_buffers = num_entries; in init_one_tx_pool()
735 tx_pool->buf_size = buf_size; in init_one_tx_pool()
747 adapter->tx_pool = kcalloc(tx_subcrqs, in init_tx_pools()
749 if (!adapter->tx_pool) in init_tx_pools()
755 kfree(adapter->tx_pool); in init_tx_pools()
756 adapter->tx_pool = NULL; in init_tx_pools()
763 rc = init_one_tx_pool(netdev, &adapter->tx_pool[i], in init_tx_pools()
1257 struct ibmvnic_tx_pool *tx_pool) in clean_one_tx_pool() argument
1263 if (!tx_pool || !tx_pool->tx_buff) in clean_one_tx_pool()
1266 tx_entries = tx_pool->num_buffers; in clean_one_tx_pool()
1269 tx_buff = &tx_pool->tx_buff[i]; in clean_one_tx_pool()
1282 if (!adapter->tx_pool || !adapter->tso_pool) in clean_tx_pools()
1290 clean_one_tx_pool(adapter, &adapter->tx_pool[i]); in clean_tx_pools()
1532 struct ibmvnic_tx_pool *tx_pool; in ibmvnic_xmit() local
1566 tx_pool = &adapter->tso_pool[queue_num]; in ibmvnic_xmit()
1568 tx_pool = &adapter->tx_pool[queue_num]; in ibmvnic_xmit()
1574 index = tx_pool->free_map[tx_pool->consumer_index]; in ibmvnic_xmit()
1584 tx_pool->free_map[tx_pool->consumer_index] = IBMVNIC_INVALID_MAP; in ibmvnic_xmit()
1586 offset = index * tx_pool->buf_size; in ibmvnic_xmit()
1587 dst = tx_pool->long_term_buff.buff + offset; in ibmvnic_xmit()
1588 memset(dst, 0, tx_pool->buf_size); in ibmvnic_xmit()
1589 data_dma_addr = tx_pool->long_term_buff.addr + offset; in ibmvnic_xmit()
1614 tx_pool->consumer_index = in ibmvnic_xmit()
1615 (tx_pool->consumer_index + 1) % tx_pool->num_buffers; in ibmvnic_xmit()
1617 tx_buff = &tx_pool->tx_buff[index]; in ibmvnic_xmit()
1637 tx_crq.v1.dma_reg = cpu_to_be16(tx_pool->long_term_buff.map_id); in ibmvnic_xmit()
1733 if (tx_pool->consumer_index == 0) in ibmvnic_xmit()
1734 tx_pool->consumer_index = in ibmvnic_xmit()
1735 tx_pool->num_buffers - 1; in ibmvnic_xmit()
1737 tx_pool->consumer_index--; in ibmvnic_xmit()
1738 tx_pool->free_map[tx_pool->consumer_index] = index; in ibmvnic_xmit()
2052 !adapter->tx_pool) { in do_reset()
3081 struct ibmvnic_tx_pool *tx_pool; in ibmvnic_complete_tx() local
3106 tx_pool = &adapter->tso_pool[pool]; in ibmvnic_complete_tx()
3109 tx_pool = &adapter->tx_pool[pool]; in ibmvnic_complete_tx()
3112 txbuff = &tx_pool->tx_buff[index]; in ibmvnic_complete_tx()
3128 tx_pool->free_map[tx_pool->producer_index] = index; in ibmvnic_complete_tx()
3129 tx_pool->producer_index = in ibmvnic_complete_tx()
3130 (tx_pool->producer_index + 1) % in ibmvnic_complete_tx()
3131 tx_pool->num_buffers; in ibmvnic_complete_tx()