palloc
status = irdma_get_pble(rf->pble_rsrc, &aeq->palloc, pg_cnt, true);
pg_arr = (dma_addr_t *) aeq->palloc.level1.addr;
irdma_free_pble(rf->pble_rsrc, &aeq->palloc);
info.first_pm_pbl_idx = aeq->palloc.level1.idx;
dma_addr_t *pg_arr = (dma_addr_t *) aeq->palloc.level1.addr;
irdma_free_pble(rf->pble_rsrc, &aeq->palloc);
struct irdma_pble_alloc *palloc;
struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc;
pinfo = (level == PBLE_LEVEL_1) ? NULL : palloc->level2.leaf;
if (++pbl_cnt == palloc->total_cnt)
palloc = &iwpbl->pble_alloc;
status = irdma_get_pble(iwdev->rf->pble_rsrc, palloc, iwmr->page_cnt,
irdma_free_pble(iwdev->rf->pble_rsrc, palloc);
struct irdma_pble_alloc palloc;
struct irdma_pble_alloc *palloc)
struct irdma_pble_level2 *lvl2 = &palloc->level2;
struct irdma_pble_alloc *palloc)
struct irdma_pble_level2 *lvl2 = &palloc->level2;
lf4k = palloc->total_cnt >> 9;
lflast = palloc->total_cnt % PBLE_PER_PAGE;
palloc->level = PBLE_LEVEL_2;
free_lvl2(pble_rsrc, palloc);
struct irdma_pble_alloc *palloc)
struct irdma_pble_info *lvl1 = &palloc->level1;
palloc->total_cnt << 3, &lvl1->addr,
palloc->level = PBLE_LEVEL_1;
lvl1->cnt = palloc->total_cnt;
struct irdma_pble_alloc *palloc, u8 lvl)
status = get_lvl1_pble(pble_rsrc, palloc);
if (!status || lvl == PBLE_LEVEL_1 || palloc->total_cnt <= PBLE_PER_PAGE)
status = get_lvl2_pble(pble_rsrc, palloc);
struct irdma_pble_alloc *palloc, u32 pble_cnt,
palloc->total_cnt = pble_cnt;
palloc->level = PBLE_LEVEL_0;
status = get_lvl1_lvl2_pble(pble_rsrc, palloc, lvl);
max_sds = (palloc->total_cnt >> 18) + 1;
status = get_lvl1_lvl2_pble(pble_rsrc, palloc, lvl);
struct irdma_pble_alloc *palloc)
if (palloc->level == PBLE_LEVEL_2)
free_lvl2(pble_rsrc, palloc);
&palloc->level1.chunkinfo);
pble_rsrc->freedpbles += palloc->total_cnt;
struct irdma_pble_alloc *palloc);
struct irdma_pble_alloc *palloc, u32 pble_cnt,
irdma_check_mr_contiguous(struct irdma_pble_alloc *palloc,
struct irdma_pble_level2 *lvl2 = &palloc->level2;
if (palloc->level == PBLE_LEVEL_1) {
arr = palloc->level1.addr;
ret = irdma_check_mem_contiguous(arr, palloc->total_cnt,
struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc;
status = irdma_get_pble(rf->pble_rsrc, palloc, iwmr->page_cnt,
level = palloc->level;
pinfo = (level == PBLE_LEVEL_1) ? &palloc->level1 :
palloc->level2.leaf;
struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc;
arr = palloc->level1.addr;
hmc_p->idx = palloc->level1.idx;
hmc_p->idx = palloc->level1.idx + req->sq_pages;
hmc_p->idx = palloc->level1.idx;
irdma_free_pble(iwdev->rf->pble_rsrc, palloc);
struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc;
if (palloc->level == PBLE_LEVEL_2) {
palloc->level2.leaf + (iwmr->npages >> PBLE_512_SHIFT);
pbl = palloc->level1.addr;
struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc;
if (palloc->level == PBLE_LEVEL_1) {
stag_info->first_pm_pbl_index = palloc->level1.idx;
stag_info->first_pm_pbl_index = palloc->level2.root.idx;
struct irdma_pble_alloc *palloc = &iwmr->iwpbl.pble_alloc;
if (palloc->level == PBLE_LEVEL_2) {
stag_info.first_pm_pbl_index = palloc->level2.root.idx;
stag_info.first_pm_pbl_index = palloc->level1.idx;
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
return palloc(option);
return palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
new = palloc(option);
return (palloc(option));
return palloc(option);
new = palloc(option);
return palloc(option);
static PLAN *palloc(OPTION *);
new = palloc(option);
new = palloc(option);
return palloc(option);
new = palloc(option);
new = palloc(option);
PERSON *palloc(void);
pn = palloc();