Lines Matching refs:blockpool

1094 static void __vxge_hw_blockpool_destroy(struct __vxge_hw_blockpool *blockpool)  in __vxge_hw_blockpool_destroy()  argument
1100 if (blockpool == NULL) { in __vxge_hw_blockpool_destroy()
1105 hldev = blockpool->hldev; in __vxge_hw_blockpool_destroy()
1107 list_for_each_safe(p, n, &blockpool->free_block_list) { in __vxge_hw_blockpool_destroy()
1119 blockpool->pool_size--; in __vxge_hw_blockpool_destroy()
1122 list_for_each_safe(p, n, &blockpool->free_entry_list) { in __vxge_hw_blockpool_destroy()
1136 struct __vxge_hw_blockpool *blockpool, in __vxge_hw_blockpool_create() argument
1148 if (blockpool == NULL) { in __vxge_hw_blockpool_create()
1153 blockpool->hldev = hldev; in __vxge_hw_blockpool_create()
1154 blockpool->block_size = VXGE_HW_BLOCK_SIZE; in __vxge_hw_blockpool_create()
1155 blockpool->pool_size = 0; in __vxge_hw_blockpool_create()
1156 blockpool->pool_max = pool_max; in __vxge_hw_blockpool_create()
1157 blockpool->req_out = 0; in __vxge_hw_blockpool_create()
1159 INIT_LIST_HEAD(&blockpool->free_block_list); in __vxge_hw_blockpool_create()
1160 INIT_LIST_HEAD(&blockpool->free_entry_list); in __vxge_hw_blockpool_create()
1166 __vxge_hw_blockpool_destroy(blockpool); in __vxge_hw_blockpool_create()
1170 list_add(&entry->item, &blockpool->free_entry_list); in __vxge_hw_blockpool_create()
1180 __vxge_hw_blockpool_destroy(blockpool); in __vxge_hw_blockpool_create()
1190 __vxge_hw_blockpool_destroy(blockpool); in __vxge_hw_blockpool_create()
1195 if (!list_empty(&blockpool->free_entry_list)) in __vxge_hw_blockpool_create()
1197 list_first_entry(&blockpool->free_entry_list, in __vxge_hw_blockpool_create()
1213 &blockpool->free_block_list); in __vxge_hw_blockpool_create()
1214 blockpool->pool_size++; in __vxge_hw_blockpool_create()
1216 __vxge_hw_blockpool_destroy(blockpool); in __vxge_hw_blockpool_create()
2260 struct __vxge_hw_blockpool *blockpool; in vxge_hw_blockpool_block_add() local
2266 blockpool = &devh->block_pool; in vxge_hw_blockpool_block_add()
2269 blockpool->req_out--; in vxge_hw_blockpool_block_add()
2279 blockpool->req_out--; in vxge_hw_blockpool_block_add()
2284 if (!list_empty(&blockpool->free_entry_list)) in vxge_hw_blockpool_block_add()
2286 list_first_entry(&blockpool->free_entry_list, in vxge_hw_blockpool_block_add()
2301 list_add(&entry->item, &blockpool->free_block_list); in vxge_hw_blockpool_block_add()
2302 blockpool->pool_size++; in vxge_hw_blockpool_block_add()
2307 blockpool->req_out--; in vxge_hw_blockpool_block_add()
2309 req_out = blockpool->req_out; in vxge_hw_blockpool_block_add()
2334 void __vxge_hw_blockpool_blocks_add(struct __vxge_hw_blockpool *blockpool) in __vxge_hw_blockpool_blocks_add() argument
2338 if ((blockpool->pool_size + blockpool->req_out) < in __vxge_hw_blockpool_blocks_add()
2341 blockpool->req_out += nreq; in __vxge_hw_blockpool_blocks_add()
2346 (blockpool->hldev)->pdev, in __vxge_hw_blockpool_blocks_add()
2347 blockpool->hldev, VXGE_HW_BLOCK_SIZE); in __vxge_hw_blockpool_blocks_add()
2359 struct __vxge_hw_blockpool *blockpool; in __vxge_hw_blockpool_malloc() local
2363 blockpool = &devh->block_pool; in __vxge_hw_blockpool_malloc()
2365 if (size != blockpool->block_size) { in __vxge_hw_blockpool_malloc()
2389 if (!list_empty(&blockpool->free_block_list)) in __vxge_hw_blockpool_malloc()
2391 list_first_entry(&blockpool->free_block_list, in __vxge_hw_blockpool_malloc()
2403 &blockpool->free_entry_list); in __vxge_hw_blockpool_malloc()
2404 blockpool->pool_size--; in __vxge_hw_blockpool_malloc()
2408 __vxge_hw_blockpool_blocks_add(blockpool); in __vxge_hw_blockpool_malloc()
2418 __vxge_hw_blockpool_blocks_remove(struct __vxge_hw_blockpool *blockpool) in __vxge_hw_blockpool_blocks_remove() argument
2422 list_for_each_safe(p, n, &blockpool->free_block_list) { in __vxge_hw_blockpool_blocks_remove()
2424 if (blockpool->pool_size < blockpool->pool_max) in __vxge_hw_blockpool_blocks_remove()
2428 (blockpool->hldev)->pdev, in __vxge_hw_blockpool_blocks_remove()
2434 (blockpool->hldev)->pdev, in __vxge_hw_blockpool_blocks_remove()
2440 list_add(p, &blockpool->free_entry_list); in __vxge_hw_blockpool_blocks_remove()
2442 blockpool->pool_size--; in __vxge_hw_blockpool_blocks_remove()
2456 struct __vxge_hw_blockpool *blockpool; in __vxge_hw_blockpool_free() local
2459 blockpool = &devh->block_pool; in __vxge_hw_blockpool_free()
2461 if (size != blockpool->block_size) { in __vxge_hw_blockpool_free()
2467 if (!list_empty(&blockpool->free_entry_list)) in __vxge_hw_blockpool_free()
2469 list_first_entry(&blockpool->free_entry_list, in __vxge_hw_blockpool_free()
2486 &blockpool->free_block_list); in __vxge_hw_blockpool_free()
2487 blockpool->pool_size++; in __vxge_hw_blockpool_free()
2493 __vxge_hw_blockpool_blocks_remove(blockpool); in __vxge_hw_blockpool_free()
4774 struct __vxge_hw_blockpool *blockpool; in __vxge_hw_blockpool_block_allocate() local
4776 blockpool = &devh->block_pool; in __vxge_hw_blockpool_block_allocate()
4778 if (size == blockpool->block_size) { in __vxge_hw_blockpool_block_allocate()
4780 if (!list_empty(&blockpool->free_block_list)) in __vxge_hw_blockpool_block_allocate()
4782 list_first_entry(&blockpool->free_block_list, in __vxge_hw_blockpool_block_allocate()
4788 blockpool->pool_size--; in __vxge_hw_blockpool_block_allocate()
4793 __vxge_hw_blockpool_blocks_add(blockpool); in __vxge_hw_blockpool_block_allocate()
4956 struct __vxge_hw_blockpool *blockpool; in __vxge_hw_blockpool_block_free() local
4958 blockpool = &devh->block_pool; in __vxge_hw_blockpool_block_free()
4960 if (entry->length == blockpool->block_size) { in __vxge_hw_blockpool_block_free()
4961 list_add(&entry->item, &blockpool->free_block_list); in __vxge_hw_blockpool_block_free()
4962 blockpool->pool_size++; in __vxge_hw_blockpool_block_free()
4965 __vxge_hw_blockpool_blocks_remove(blockpool); in __vxge_hw_blockpool_block_free()