Lines Matching refs:rx_pool

309 		adapter->rx_pool[i].active = 0;  in deactivate_rx_pools()
413 if (adapter->rx_pool[i].active) in replenish_pools()
414 replenish_rx_pool(adapter, &adapter->rx_pool[i]); in replenish_pools()
480 struct ibmvnic_rx_pool *rx_pool; in reset_rx_pools() local
485 if (!adapter->rx_pool) in reset_rx_pools()
491 rx_pool = &adapter->rx_pool[i]; in reset_rx_pools()
495 if (rx_pool->buff_size != buff_size) { in reset_rx_pools()
496 free_long_term_buff(adapter, &rx_pool->long_term_buff); in reset_rx_pools()
497 rx_pool->buff_size = buff_size; in reset_rx_pools()
499 &rx_pool->long_term_buff, in reset_rx_pools()
500 rx_pool->size * in reset_rx_pools()
501 rx_pool->buff_size); in reset_rx_pools()
504 &rx_pool->long_term_buff); in reset_rx_pools()
510 for (j = 0; j < rx_pool->size; j++) in reset_rx_pools()
511 rx_pool->free_map[j] = j; in reset_rx_pools()
513 memset(rx_pool->rx_buff, 0, in reset_rx_pools()
514 rx_pool->size * sizeof(struct ibmvnic_rx_buff)); in reset_rx_pools()
516 atomic_set(&rx_pool->available, 0); in reset_rx_pools()
517 rx_pool->next_alloc = 0; in reset_rx_pools()
518 rx_pool->next_free = 0; in reset_rx_pools()
519 rx_pool->active = 1; in reset_rx_pools()
527 struct ibmvnic_rx_pool *rx_pool; in release_rx_pools() local
530 if (!adapter->rx_pool) in release_rx_pools()
534 rx_pool = &adapter->rx_pool[i]; in release_rx_pools()
538 kfree(rx_pool->free_map); in release_rx_pools()
539 free_long_term_buff(adapter, &rx_pool->long_term_buff); in release_rx_pools()
541 if (!rx_pool->rx_buff) in release_rx_pools()
544 for (j = 0; j < rx_pool->size; j++) { in release_rx_pools()
545 if (rx_pool->rx_buff[j].skb) { in release_rx_pools()
546 dev_kfree_skb_any(rx_pool->rx_buff[j].skb); in release_rx_pools()
547 rx_pool->rx_buff[j].skb = NULL; in release_rx_pools()
551 kfree(rx_pool->rx_buff); in release_rx_pools()
554 kfree(adapter->rx_pool); in release_rx_pools()
555 adapter->rx_pool = NULL; in release_rx_pools()
563 struct ibmvnic_rx_pool *rx_pool; in init_rx_pools() local
571 adapter->rx_pool = kcalloc(rxadd_subcrqs, in init_rx_pools()
574 if (!adapter->rx_pool) { in init_rx_pools()
582 rx_pool = &adapter->rx_pool[i]; in init_rx_pools()
589 rx_pool->size = adapter->req_rx_add_entries_per_subcrq; in init_rx_pools()
590 rx_pool->index = i; in init_rx_pools()
591 rx_pool->buff_size = buff_size; in init_rx_pools()
592 rx_pool->active = 1; in init_rx_pools()
594 rx_pool->free_map = kcalloc(rx_pool->size, sizeof(int), in init_rx_pools()
596 if (!rx_pool->free_map) { in init_rx_pools()
601 rx_pool->rx_buff = kcalloc(rx_pool->size, in init_rx_pools()
604 if (!rx_pool->rx_buff) { in init_rx_pools()
610 if (alloc_long_term_buff(adapter, &rx_pool->long_term_buff, in init_rx_pools()
611 rx_pool->size * rx_pool->buff_size)) { in init_rx_pools()
616 for (j = 0; j < rx_pool->size; ++j) in init_rx_pools()
617 rx_pool->free_map[j] = j; in init_rx_pools()
619 atomic_set(&rx_pool->available, 0); in init_rx_pools()
620 rx_pool->next_alloc = 0; in init_rx_pools()
621 rx_pool->next_free = 0; in init_rx_pools()
1227 struct ibmvnic_rx_pool *rx_pool; in clean_rx_pools() local
1233 if (!adapter->rx_pool) in clean_rx_pools()
1241 rx_pool = &adapter->rx_pool[i]; in clean_rx_pools()
1242 if (!rx_pool || !rx_pool->rx_buff) in clean_rx_pools()
1247 rx_buff = &rx_pool->rx_buff[j]; in clean_rx_pools()
2050 !adapter->rx_pool || in do_reset()
2401 struct ibmvnic_rx_pool *pool = &adapter->rx_pool[rx_buff->pool_index]; in remove_buff_from_pool()
2502 replenish_rx_pool(adapter, &adapter->rx_pool[scrq_num]); in ibmvnic_poll()
5483 ret += adapter->rx_pool[i].size * in ibmvnic_get_desired_dma()
5484 IOMMU_PAGE_ALIGN(adapter->rx_pool[i].buff_size, tbl); in ibmvnic_get_desired_dma()