Lines Matching refs:pool
313 struct ibmvnic_rx_pool *pool)
315 int count = pool->size - atomic_read(&pool->available);
316 u64 handle = adapter->rx_scrq[pool->index]->handle;
329 if (!pool->active)
333 skb = alloc_skb(pool->buff_size, GFP_ATOMIC);
340 index = pool->free_map[pool->next_free];
342 if (pool->rx_buff[index].skb)
346 offset = index * pool->buff_size;
347 dst = pool->long_term_buff.buff + offset;
348 memset(dst, 0, pool->buff_size);
349 dma_addr = pool->long_term_buff.addr + offset;
350 pool->rx_buff[index].data = dst;
352 pool->free_map[pool->next_free] = IBMVNIC_INVALID_MAP;
353 pool->rx_buff[index].dma = dma_addr;
354 pool->rx_buff[index].skb = skb;
355 pool->rx_buff[index].pool_index = pool->index;
356 pool->rx_buff[index].size = pool->buff_size;
361 cpu_to_be64((u64)&pool->rx_buff[index]);
363 sub_crq.rx_add.map_id = pool->long_term_buff.map_id;
373 sub_crq.rx_add.len = cpu_to_be32(pool->buff_size << shift);
381 pool->next_free = (pool->next_free + 1) % pool->size;
383 atomic_add(buffers_added, &pool->available);
389 pool->free_map[pool->next_free] = index;
390 pool->rx_buff[index].skb = NULL;
394 atomic_add(buffers_added, &pool->available);
397 /* Disable buffer pool replenishment and report carrier off if
2411 struct ibmvnic_rx_pool *pool = &adapter->rx_pool[rx_buff->pool_index];
2415 pool->free_map[pool->next_alloc] = (int)(rx_buff - pool->rx_buff);
2416 pool->next_alloc = (pool->next_alloc + 1) % pool->size;
2418 atomic_dec(&pool->available);
3099 unsigned int pool = scrq->pool_index;
3116 tx_pool = &adapter->tso_pool[pool];
3119 tx_pool = &adapter->tx_pool[pool];