Lines Matching defs:tx_pool
1185 struct ibmvnic_tx_pool *tx_pool)
1187 kfree(tx_pool->tx_buff);
1188 kfree(tx_pool->free_map);
1189 free_ltb_set(adapter, &tx_pool->ltb_set);
1202 /* init_tx_pools() ensures that ->tx_pool and ->tso_pool are
1205 if (!adapter->tx_pool)
1209 release_one_tx_pool(adapter, &adapter->tx_pool[i]);
1213 kfree(adapter->tx_pool);
1214 adapter->tx_pool = NULL;
1222 struct ibmvnic_tx_pool *tx_pool,
1227 tx_pool->tx_buff = kcalloc(pool_size,
1230 if (!tx_pool->tx_buff)
1233 tx_pool->free_map = kcalloc(pool_size, sizeof(int), GFP_KERNEL);
1234 if (!tx_pool->free_map) {
1235 kfree(tx_pool->tx_buff);
1236 tx_pool->tx_buff = NULL;
1241 tx_pool->free_map[i] = i;
1243 tx_pool->consumer_index = 0;
1244 tx_pool->producer_index = 0;
1245 tx_pool->num_buffers = pool_size;
1246 tx_pool->buf_size = buf_size;
1270 if (!adapter->tx_pool)
1325 adapter->tx_pool = kcalloc(num_pools,
1327 if (!adapter->tx_pool)
1332 /* To simplify release_tx_pools() ensure that ->tx_pool and
1336 kfree(adapter->tx_pool);
1337 adapter->tx_pool = NULL;
1353 rc = init_one_tx_pool(netdev, &adapter->tx_pool[i],
1372 * For consistency, we use tx_pool->num_buffers and
1378 struct ibmvnic_tx_pool *tx_pool;
1380 tx_pool = &adapter->tx_pool[i];
1383 i, tx_pool->num_buffers, tx_pool->buf_size);
1385 rc = alloc_ltb_set(adapter, &tx_pool->ltb_set,
1386 tx_pool->num_buffers, tx_pool->buf_size);
1390 tx_pool->consumer_index = 0;
1391 tx_pool->producer_index = 0;
1393 for (j = 0; j < tx_pool->num_buffers; j++)
1394 tx_pool->free_map[j] = j;
2023 struct ibmvnic_tx_pool *tx_pool)
2029 if (!tx_pool || !tx_pool->tx_buff)
2032 tx_entries = tx_pool->num_buffers;
2035 tx_buff = &tx_pool->tx_buff[i];
2048 if (!adapter->tx_pool || !adapter->tso_pool)
2055 netdev_dbg(adapter->netdev, "Cleaning tx_pool[%d]\n", i);
2056 clean_one_tx_pool(adapter, &adapter->tx_pool[i]);
2288 struct ibmvnic_tx_pool *tx_pool;
2305 tx_pool = &adapter->tso_pool[queue_num];
2308 tx_pool = &adapter->tx_pool[queue_num];
2310 tx_pool->free_map[tx_pool->consumer_index] = index;
2311 tx_pool->consumer_index = tx_pool->consumer_index == 0 ?
2312 tx_pool->num_buffers - 1 :
2313 tx_pool->consumer_index - 1;
2314 tx_buff = &tx_pool->tx_buff[index];
2401 struct ibmvnic_tx_pool *tx_pool;
2451 tx_pool = &adapter->tso_pool[queue_num];
2453 tx_pool = &adapter->tx_pool[queue_num];
2455 bufidx = tx_pool->free_map[tx_pool->consumer_index];
2468 tx_pool->free_map[tx_pool->consumer_index] = IBMVNIC_INVALID_MAP;
2470 map_txpool_buf_to_ltb(tx_pool, bufidx, <b, &offset);
2473 memset(dst, 0, tx_pool->buf_size);
2509 tx_pool->consumer_index =
2510 (tx_pool->consumer_index + 1) % tx_pool->num_buffers;
2512 tx_buff = &tx_pool->tx_buff[bufidx];
2520 skb_is_gso(skb) ? "tso_pool" : "tx_pool",
2629 tx_pool->consumer_index = tx_pool->consumer_index == 0 ?
2630 tx_pool->num_buffers - 1 :
2631 tx_pool->consumer_index - 1;
2951 !adapter->tx_pool) {
4226 struct ibmvnic_tx_pool *tx_pool;
4240 tx_pool = &adapter->tso_pool[pool];
4243 tx_pool = &adapter->tx_pool[pool];
4246 txbuff = &tx_pool->tx_buff[index];
4263 tx_pool->free_map[tx_pool->producer_index] = index;
4264 tx_pool->producer_index =
4265 (tx_pool->producer_index + 1) %
4266 tx_pool->num_buffers;