bm_pool 1109 drivers/net/ethernet/marvell/mvneta.c struct mvneta_bm_pool *bm_pool = pp->pool_long; bm_pool 1110 drivers/net/ethernet/marvell/mvneta.c struct hwbm_pool *hwbm_pool = &bm_pool->hwbm_pool; bm_pool 1114 drivers/net/ethernet/marvell/mvneta.c mvneta_bm_bufs_free(pp->bm_priv, bm_pool, 1 << pp->id); bm_pool 1117 drivers/net/ethernet/marvell/mvneta.c bm_pool->id); bm_pool 1121 drivers/net/ethernet/marvell/mvneta.c bm_pool->pkt_size = MVNETA_RX_PKT_SIZE(mtu); bm_pool 1122 drivers/net/ethernet/marvell/mvneta.c bm_pool->buf_size = MVNETA_RX_BUF_SIZE(bm_pool->pkt_size); bm_pool 1124 drivers/net/ethernet/marvell/mvneta.c SKB_DATA_ALIGN(MVNETA_RX_BUF_SIZE(bm_pool->pkt_size)); bm_pool 1130 drivers/net/ethernet/marvell/mvneta.c bm_pool->id, num, hwbm_pool->size); bm_pool 1133 drivers/net/ethernet/marvell/mvneta.c mvneta_bm_pool_bufsize_set(pp, bm_pool->buf_size, bm_pool->id); bm_pool 1892 drivers/net/ethernet/marvell/mvneta.c struct mvneta_bm_pool *bm_pool; bm_pool 1894 drivers/net/ethernet/marvell/mvneta.c bm_pool = &pp->bm_priv->bm_pools[pool_id]; bm_pool 1896 drivers/net/ethernet/marvell/mvneta.c mvneta_bm_pool_put_bp(pp->bm_priv, bm_pool, bm_pool 2133 drivers/net/ethernet/marvell/mvneta.c struct mvneta_bm_pool *bm_pool = NULL; bm_pool 2147 drivers/net/ethernet/marvell/mvneta.c bm_pool = &pp->bm_priv->bm_pools[pool_id]; bm_pool 2153 drivers/net/ethernet/marvell/mvneta.c mvneta_bm_pool_put_bp(pp->bm_priv, bm_pool, bm_pool 2183 drivers/net/ethernet/marvell/mvneta.c mvneta_bm_pool_put_bp(pp->bm_priv, bm_pool, bm_pool 2191 drivers/net/ethernet/marvell/mvneta.c err = hwbm_pool_refill(&bm_pool->hwbm_pool, GFP_ATOMIC); bm_pool 2198 drivers/net/ethernet/marvell/mvneta.c frag_size = bm_pool->hwbm_pool.frag_size; bm_pool 2206 drivers/net/ethernet/marvell/mvneta.c bm_pool->buf_size, DMA_FROM_DEVICE); bm_pool 95 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm_pool *bm_pool = bm_pool 97 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm *priv = bm_pool->priv; bm_pool 105 drivers/net/ethernet/marvell/mvneta_bm.c phys_addr = dma_map_single(&priv->pdev->dev, buf, bm_pool->buf_size, bm_pool 110 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_pool_put_bp(priv, bm_pool, phys_addr); bm_pool 117 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm_pool *bm_pool) bm_pool 122 drivers/net/ethernet/marvell/mvneta_bm.c size_bytes = sizeof(u32) * bm_pool->hwbm_pool.size; bm_pool 123 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->virt_addr = dma_alloc_coherent(&pdev->dev, size_bytes, bm_pool 124 drivers/net/ethernet/marvell/mvneta_bm.c &bm_pool->phys_addr, bm_pool 126 drivers/net/ethernet/marvell/mvneta_bm.c if (!bm_pool->virt_addr) bm_pool 129 drivers/net/ethernet/marvell/mvneta_bm.c if (!IS_ALIGNED((u32)bm_pool->virt_addr, MVNETA_BM_POOL_PTR_ALIGN)) { bm_pool 130 drivers/net/ethernet/marvell/mvneta_bm.c dma_free_coherent(&pdev->dev, size_bytes, bm_pool->virt_addr, bm_pool 131 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->phys_addr); bm_pool 133 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->id, MVNETA_BM_POOL_PTR_ALIGN); bm_pool 137 drivers/net/ethernet/marvell/mvneta_bm.c err = mvebu_mbus_get_dram_win_info(bm_pool->phys_addr, &target_id, bm_pool 140 drivers/net/ethernet/marvell/mvneta_bm.c dma_free_coherent(&pdev->dev, size_bytes, bm_pool->virt_addr, bm_pool 141 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->phys_addr); bm_pool 146 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_write(priv, MVNETA_BM_POOL_BASE_REG(bm_pool->id), bm_pool 147 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->phys_addr); bm_pool 149 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_pool_target_set(priv, bm_pool->id, target_id, attr); bm_pool 150 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_pool_enable(priv, bm_pool->id); bm_pool 217 drivers/net/ethernet/marvell/mvneta_bm.c void mvneta_bm_bufs_free(struct mvneta_bm *priv, struct mvneta_bm_pool *bm_pool, bm_pool 222 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->port_map &= ~port_map; bm_pool 223 drivers/net/ethernet/marvell/mvneta_bm.c if (bm_pool->port_map) bm_pool 228 drivers/net/ethernet/marvell/mvneta_bm.c for (i = 0; i < bm_pool->hwbm_pool.buf_num; i++) { bm_pool 233 drivers/net/ethernet/marvell/mvneta_bm.c buf_phys_addr = mvneta_bm_pool_get_bp(priv, bm_pool); bm_pool 246 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->buf_size, DMA_FROM_DEVICE); bm_pool 247 drivers/net/ethernet/marvell/mvneta_bm.c hwbm_buf_free(&bm_pool->hwbm_pool, vaddr); bm_pool 253 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->hwbm_pool.buf_num -= i; bm_pool 259 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm_pool *bm_pool, u8 port_map) bm_pool 261 drivers/net/ethernet/marvell/mvneta_bm.c struct hwbm_pool *hwbm_pool = &bm_pool->hwbm_pool; bm_pool 262 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->port_map &= ~port_map; bm_pool 263 drivers/net/ethernet/marvell/mvneta_bm.c if (bm_pool->port_map) bm_pool 266 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->type = MVNETA_BM_FREE; bm_pool 268 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_bufs_free(priv, bm_pool, port_map); bm_pool 270 drivers/net/ethernet/marvell/mvneta_bm.c WARN(1, "cannot free all buffers in pool %d\n", bm_pool->id); bm_pool 272 drivers/net/ethernet/marvell/mvneta_bm.c if (bm_pool->virt_addr) { bm_pool 275 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->virt_addr, bm_pool->phys_addr); bm_pool 276 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->virt_addr = NULL; bm_pool 279 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_pool_disable(priv, bm_pool->id); bm_pool 286 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm_pool *bm_pool; bm_pool 296 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool = &priv->bm_pools[i]; bm_pool 297 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->id = i; bm_pool 298 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->type = MVNETA_BM_FREE; bm_pool 327 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->hwbm_pool.size = size; bm_pool 330 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->hwbm_pool.size); bm_pool 334 drivers/net/ethernet/marvell/mvneta_bm.c if (of_property_read_u32(dn, prop, &bm_pool->pkt_size)) bm_pool 335 drivers/net/ethernet/marvell/mvneta_bm.c bm_pool->pkt_size = 0; bm_pool 467 drivers/net/ethernet/marvell/mvneta_bm.c struct mvneta_bm_pool *bm_pool = &priv->bm_pools[i]; bm_pool 469 drivers/net/ethernet/marvell/mvneta_bm.c mvneta_bm_pool_destroy(priv, bm_pool, all_ports_map); bm_pool 138 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool, u8 port_map); bm_pool 139 drivers/net/ethernet/marvell/mvneta_bm.h void mvneta_bm_bufs_free(struct mvneta_bm *priv, struct mvneta_bm_pool *bm_pool, bm_pool 143 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool); bm_pool 149 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool, bm_pool 153 drivers/net/ethernet/marvell/mvneta_bm.h (bm_pool->id << MVNETA_BM_POOL_ACCESS_OFFS)); bm_pool 157 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool) bm_pool 160 drivers/net/ethernet/marvell/mvneta_bm.h (bm_pool->id << MVNETA_BM_POOL_ACCESS_OFFS)); bm_pool 164 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool, bm_pool 167 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool, bm_pool 172 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool) bm_pool 182 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool, bm_pool 186 drivers/net/ethernet/marvell/mvneta_bm.h struct mvneta_bm_pool *bm_pool) bm_pool 347 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, int size) bm_pool 361 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->size_bytes = 2 * sizeof(u32) * size; bm_pool 363 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->size_bytes = 2 * sizeof(u64) * size; bm_pool 365 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->virt_addr = dma_alloc_coherent(dev, bm_pool->size_bytes, bm_pool 366 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c &bm_pool->dma_addr, bm_pool 368 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c if (!bm_pool->virt_addr) bm_pool 371 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c if (!IS_ALIGNED((unsigned long)bm_pool->virt_addr, bm_pool 373 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c dma_free_coherent(dev, bm_pool->size_bytes, bm_pool 374 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->virt_addr, bm_pool->dma_addr); bm_pool 376 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id, MVPP2_BM_POOL_PTR_ALIGN); bm_pool 380 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_write(priv, MVPP2_BM_POOL_BASE_REG(bm_pool->id), bm_pool 381 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c lower_32_bits(bm_pool->dma_addr)); bm_pool 382 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_write(priv, MVPP2_BM_POOL_SIZE_REG(bm_pool->id), size); bm_pool 384 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c val = mvpp2_read(priv, MVPP2_BM_POOL_CTRL_REG(bm_pool->id)); bm_pool 386 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_write(priv, MVPP2_BM_POOL_CTRL_REG(bm_pool->id), val); bm_pool 388 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->size = size; bm_pool 389 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->pkt_size = 0; bm_pool 390 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_num = 0; bm_pool 397 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, bm_pool 402 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_size = buf_size; bm_pool 405 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_write(priv, MVPP2_POOL_BUF_SIZE_REG(bm_pool->id), val); bm_pool 409 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, bm_pool 416 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c MVPP2_BM_PHY_ALLOC_REG(bm_pool->id)); bm_pool 440 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, int buf_num) bm_pool 444 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c if (buf_num > bm_pool->buf_num) { bm_pool 446 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id, buf_num); bm_pool 447 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num = bm_pool->buf_num; bm_pool 455 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_bm_bufs_get_addrs(dev, priv, bm_pool, bm_pool 459 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_size, DMA_FROM_DEVICE); bm_pool 465 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_frag_free(bm_pool, data); bm_pool 469 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_num -= i; bm_pool 473 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c static int mvpp2_check_hw_buf_num(struct mvpp2 *priv, struct mvpp2_bm_pool *bm_pool) bm_pool 477 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num += mvpp2_read(priv, MVPP2_BM_POOL_PTRS_NUM_REG(bm_pool->id)) & bm_pool 479 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num += mvpp2_read(priv, MVPP2_BM_BPPI_PTRS_NUM_REG(bm_pool->id)) & bm_pool 491 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool) bm_pool 496 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num = mvpp2_check_hw_buf_num(priv, bm_pool); bm_pool 497 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_bm_bufs_free(dev, priv, bm_pool, buf_num); bm_pool 500 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num = mvpp2_check_hw_buf_num(priv, bm_pool); bm_pool 503 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id, bm_pool->buf_num); bm_pool 507 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c val = mvpp2_read(priv, MVPP2_BM_POOL_CTRL_REG(bm_pool->id)); bm_pool 509 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_write(priv, MVPP2_BM_POOL_CTRL_REG(bm_pool->id), val); bm_pool 511 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c dma_free_coherent(dev, bm_pool->size_bytes, bm_pool 512 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->virt_addr, bm_pool 513 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->dma_addr); bm_pool 520 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool; bm_pool 528 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool = &priv->bm_pools[i]; bm_pool 529 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id = i; bm_pool 530 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c err = mvpp2_bm_pool_create(dev, priv, bm_pool, size); bm_pool 533 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_bm_pool_bufsize_set(priv, bm_pool, 0); bm_pool 631 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, bm_pool 639 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c data = mvpp2_frag_alloc(bm_pool); bm_pool 644 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c MVPP2_RX_BUF_SIZE(bm_pool->pkt_size), bm_pool 647 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_frag_free(bm_pool, data); bm_pool 701 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, int buf_num) bm_pool 709 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->pkt_size > MVPP2_BM_LONG_PKT_SIZE) { bm_pool 715 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_size = MVPP2_RX_BUF_SIZE(bm_pool->pkt_size); bm_pool 719 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c (buf_num + bm_pool->buf_num > bm_pool->size)) { bm_pool 722 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf_num, bm_pool->id); bm_pool 727 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf = mvpp2_buf_alloc(port, bm_pool, &dma_addr, bm_pool 732 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_bm_pool_put(port, bm_pool->id, dma_addr, bm_pool 737 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_num += i; bm_pool 741 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id, bm_pool->pkt_size, buf_size, total_size); bm_pool 745 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->id, i, buf_num); bm_pool 2868 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool, int pool) bm_pool 2875 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c buf = mvpp2_buf_alloc(port, bm_pool, &dma_addr, &phys_addr, bm_pool 2934 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool; bm_pool 2953 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool = &port->priv->bm_pools[pool]; bm_pool 2969 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c if (bm_pool->frag_size > PAGE_SIZE) bm_pool 2972 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c frag_size = bm_pool->frag_size; bm_pool 2980 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c err = mvpp2_rx_refill(port, bm_pool, pool); bm_pool 2987 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c bm_pool->buf_size, DMA_FROM_DEVICE); bm_pool 5944 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c struct mvpp2_bm_pool *bm_pool = &priv->bm_pools[i]; bm_pool 5946 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c mvpp2_bm_pool_destroy(&pdev->dev, priv, bm_pool); bm_pool 13 include/net/hwbm.h int (*construct)(struct hwbm_pool *bm_pool, void *buf); bm_pool 20 include/net/hwbm.h void hwbm_buf_free(struct hwbm_pool *bm_pool, void *buf); bm_pool 21 include/net/hwbm.h int hwbm_pool_refill(struct hwbm_pool *bm_pool, gfp_t gfp); bm_pool 22 include/net/hwbm.h int hwbm_pool_add(struct hwbm_pool *bm_pool, unsigned int buf_num); bm_pool 24 include/net/hwbm.h static inline void hwbm_buf_free(struct hwbm_pool *bm_pool, void *buf) {} bm_pool 26 include/net/hwbm.h static inline int hwbm_pool_refill(struct hwbm_pool *bm_pool, gfp_t gfp) bm_pool 29 include/net/hwbm.h static inline int hwbm_pool_add(struct hwbm_pool *bm_pool, bm_pool 13 net/core/hwbm.c void hwbm_buf_free(struct hwbm_pool *bm_pool, void *buf) bm_pool 15 net/core/hwbm.c if (likely(bm_pool->frag_size <= PAGE_SIZE)) bm_pool 23 net/core/hwbm.c int hwbm_pool_refill(struct hwbm_pool *bm_pool, gfp_t gfp) bm_pool 25 net/core/hwbm.c int frag_size = bm_pool->frag_size; bm_pool 36 net/core/hwbm.c if (bm_pool->construct) bm_pool 37 net/core/hwbm.c if (bm_pool->construct(bm_pool, buf)) { bm_pool 38 net/core/hwbm.c hwbm_buf_free(bm_pool, buf); bm_pool 46 net/core/hwbm.c int hwbm_pool_add(struct hwbm_pool *bm_pool, unsigned int buf_num) bm_pool 50 net/core/hwbm.c mutex_lock(&bm_pool->buf_lock); bm_pool 51 net/core/hwbm.c if (bm_pool->buf_num == bm_pool->size) { bm_pool 53 net/core/hwbm.c mutex_unlock(&bm_pool->buf_lock); bm_pool 54 net/core/hwbm.c return bm_pool->buf_num; bm_pool 57 net/core/hwbm.c if (buf_num + bm_pool->buf_num > bm_pool->size) { bm_pool 60 net/core/hwbm.c mutex_unlock(&bm_pool->buf_lock); bm_pool 64 net/core/hwbm.c if ((buf_num + bm_pool->buf_num) < bm_pool->buf_num) { bm_pool 66 net/core/hwbm.c buf_num, bm_pool->buf_num); bm_pool 67 net/core/hwbm.c mutex_unlock(&bm_pool->buf_lock); bm_pool 72 net/core/hwbm.c err = hwbm_pool_refill(bm_pool, GFP_KERNEL); bm_pool 78 net/core/hwbm.c bm_pool->buf_num += i; bm_pool 81 net/core/hwbm.c mutex_unlock(&bm_pool->buf_lock);