Lines Matching refs:tx_pool

1180 				struct ibmvnic_tx_pool *tx_pool)
1182 kfree(tx_pool->tx_buff);
1183 kfree(tx_pool->free_map);
1184 free_ltb_set(adapter, &tx_pool->ltb_set);
1197 /* init_tx_pools() ensures that ->tx_pool and ->tso_pool are
1200 if (!adapter->tx_pool)
1204 release_one_tx_pool(adapter, &adapter->tx_pool[i]);
1208 kfree(adapter->tx_pool);
1209 adapter->tx_pool = NULL;
1217 struct ibmvnic_tx_pool *tx_pool,
1222 tx_pool->tx_buff = kcalloc(pool_size,
1225 if (!tx_pool->tx_buff)
1228 tx_pool->free_map = kcalloc(pool_size, sizeof(int), GFP_KERNEL);
1229 if (!tx_pool->free_map) {
1230 kfree(tx_pool->tx_buff);
1231 tx_pool->tx_buff = NULL;
1236 tx_pool->free_map[i] = i;
1238 tx_pool->consumer_index = 0;
1239 tx_pool->producer_index = 0;
1240 tx_pool->num_buffers = pool_size;
1241 tx_pool->buf_size = buf_size;
1265 if (!adapter->tx_pool)
1320 adapter->tx_pool = kcalloc(num_pools,
1322 if (!adapter->tx_pool)
1327 /* To simplify release_tx_pools() ensure that ->tx_pool and
1331 kfree(adapter->tx_pool);
1332 adapter->tx_pool = NULL;
1348 rc = init_one_tx_pool(netdev, &adapter->tx_pool[i],
1367 * For consistency, we use tx_pool->num_buffers and
1373 struct ibmvnic_tx_pool *tx_pool;
1375 tx_pool = &adapter->tx_pool[i];
1378 i, tx_pool->num_buffers, tx_pool->buf_size);
1380 rc = alloc_ltb_set(adapter, &tx_pool->ltb_set,
1381 tx_pool->num_buffers, tx_pool->buf_size);
1385 tx_pool->consumer_index = 0;
1386 tx_pool->producer_index = 0;
1388 for (j = 0; j < tx_pool->num_buffers; j++)
1389 tx_pool->free_map[j] = j;
2018 struct ibmvnic_tx_pool *tx_pool)
2024 if (!tx_pool || !tx_pool->tx_buff)
2027 tx_entries = tx_pool->num_buffers;
2030 tx_buff = &tx_pool->tx_buff[i];
2043 if (!adapter->tx_pool || !adapter->tso_pool)
2050 netdev_dbg(adapter->netdev, "Cleaning tx_pool[%d]\n", i);
2051 clean_one_tx_pool(adapter, &adapter->tx_pool[i]);
2299 struct ibmvnic_tx_pool *tx_pool;
2316 tx_pool = &adapter->tso_pool[queue_num];
2319 tx_pool = &adapter->tx_pool[queue_num];
2321 tx_pool->free_map[tx_pool->consumer_index] = index;
2322 tx_pool->consumer_index = tx_pool->consumer_index == 0 ?
2323 tx_pool->num_buffers - 1 :
2324 tx_pool->consumer_index - 1;
2325 tx_buff = &tx_pool->tx_buff[index];
2387 struct ibmvnic_tx_pool *tx_pool;
2432 tx_pool = &adapter->tso_pool[queue_num];
2434 tx_pool = &adapter->tx_pool[queue_num];
2436 bufidx = tx_pool->free_map[tx_pool->consumer_index];
2447 tx_pool->free_map[tx_pool->consumer_index] = IBMVNIC_INVALID_MAP;
2449 map_txpool_buf_to_ltb(tx_pool, bufidx, &ltb, &offset);
2452 memset(dst, 0, tx_pool->buf_size);
2477 tx_pool->consumer_index =
2478 (tx_pool->consumer_index + 1) % tx_pool->num_buffers;
2480 tx_buff = &tx_pool->tx_buff[bufidx];
2568 tx_pool->consumer_index = tx_pool->consumer_index == 0 ?
2569 tx_pool->num_buffers - 1 :
2570 tx_pool->consumer_index - 1;
2892 !adapter->tx_pool) {
4150 struct ibmvnic_tx_pool *tx_pool;
4168 tx_pool = &adapter->tso_pool[pool];
4171 tx_pool = &adapter->tx_pool[pool];
4174 txbuff = &tx_pool->tx_buff[index];
4191 tx_pool->free_map[tx_pool->producer_index] = index;
4192 tx_pool->producer_index =
4193 (tx_pool->producer_index + 1) %
4194 tx_pool->num_buffers;