palloc 423 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc) palloc 427 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_level2 *lvl2 = &palloc->level2; palloc 454 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc, palloc 460 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_level2 *lvl2 = &palloc->level2; palloc 465 drivers/infiniband/hw/i40iw/i40iw_pble.c lf4k = palloc->total_cnt >> 9; palloc 466 drivers/infiniband/hw/i40iw/i40iw_pble.c lflast = palloc->total_cnt % PBLE_PER_PAGE; palloc 496 drivers/infiniband/hw/i40iw/i40iw_pble.c palloc->level = I40IW_LEVEL_2; palloc 500 drivers/infiniband/hw/i40iw/i40iw_pble.c free_lvl2(pble_rsrc, palloc); palloc 512 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc) palloc 516 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_info *lvl1 = &palloc->level1; palloc 519 drivers/infiniband/hw/i40iw/i40iw_pble.c addr = (u64 *)gen_pool_alloc(pool, (palloc->total_cnt << 3)); palloc 524 drivers/infiniband/hw/i40iw/i40iw_pble.c palloc->level = I40IW_LEVEL_1; palloc 528 drivers/infiniband/hw/i40iw/i40iw_pble.c lvl1->cnt = palloc->total_cnt; palloc 542 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc, palloc 547 drivers/infiniband/hw/i40iw/i40iw_pble.c status = get_lvl1_pble(dev, pble_rsrc, palloc); palloc 548 drivers/infiniband/hw/i40iw/i40iw_pble.c if (status && (palloc->total_cnt > PBLE_PER_PAGE)) palloc 549 drivers/infiniband/hw/i40iw/i40iw_pble.c status = get_lvl2_pble(pble_rsrc, palloc, pool); palloc 562 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc, palloc 571 drivers/infiniband/hw/i40iw/i40iw_pble.c palloc->total_cnt = pble_cnt; palloc 572 drivers/infiniband/hw/i40iw/i40iw_pble.c palloc->level = I40IW_LEVEL_0; palloc 574 drivers/infiniband/hw/i40iw/i40iw_pble.c status = get_lvl1_lvl2_pble(dev, pble_rsrc, palloc, pool); palloc 577 drivers/infiniband/hw/i40iw/i40iw_pble.c max_sds = (palloc->total_cnt >> 18) + 1; palloc 582 drivers/infiniband/hw/i40iw/i40iw_pble.c status = get_lvl1_lvl2_pble(dev, pble_rsrc, palloc, pool); palloc 601 drivers/infiniband/hw/i40iw/i40iw_pble.c struct i40iw_pble_alloc *palloc) palloc 606 drivers/infiniband/hw/i40iw/i40iw_pble.c if (palloc->level == I40IW_LEVEL_2) palloc 607 drivers/infiniband/hw/i40iw/i40iw_pble.c free_lvl2(pble_rsrc, palloc); palloc 609 drivers/infiniband/hw/i40iw/i40iw_pble.c gen_pool_free(pool, palloc->level1.addr, palloc 610 drivers/infiniband/hw/i40iw/i40iw_pble.c (palloc->level1.cnt << 3)); palloc 126 drivers/infiniband/hw/i40iw/i40iw_pble.h void i40iw_free_pble(struct i40iw_hmc_pble_rsrc *pble_rsrc, struct i40iw_pble_alloc *palloc); palloc 129 drivers/infiniband/hw/i40iw/i40iw_pble.h struct i40iw_pble_alloc *palloc, palloc 1316 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 1321 drivers/infiniband/hw/i40iw/i40iw_verbs.c pinfo = (level == I40IW_LEVEL_1) ? NULL : palloc->level2.leaf; palloc 1356 drivers/infiniband/hw/i40iw/i40iw_verbs.c static bool i40iw_check_mr_contiguous(struct i40iw_pble_alloc *palloc, u32 pg_size) palloc 1358 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_level2 *lvl2 = &palloc->level2; palloc 1365 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (palloc->level == I40IW_LEVEL_1) { palloc 1366 drivers/infiniband/hw/i40iw/i40iw_verbs.c arr = (u64 *)palloc->level1.addr; palloc 1367 drivers/infiniband/hw/i40iw/i40iw_verbs.c ret = i40iw_check_mem_contiguous(arr, palloc->total_cnt, pg_size); palloc 1396 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 1404 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_get_pble(&iwdev->sc_dev, iwdev->pble_rsrc, palloc, iwmr->page_cnt); palloc 1410 drivers/infiniband/hw/i40iw/i40iw_verbs.c level = palloc->level; palloc 1411 drivers/infiniband/hw/i40iw/i40iw_verbs.c pinfo = (level == I40IW_LEVEL_1) ? &palloc->level1 : palloc->level2.leaf; palloc 1437 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 1455 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (use_pbles && (palloc->level != I40IW_LEVEL_1)) { palloc 1456 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 1462 drivers/infiniband/hw/i40iw/i40iw_verbs.c arr = (u64 *)palloc->level1.addr; palloc 1475 drivers/infiniband/hw/i40iw/i40iw_verbs.c hmc_p->idx = palloc->level1.idx; palloc 1477 drivers/infiniband/hw/i40iw/i40iw_verbs.c hmc_p->idx = palloc->level1.idx + req->sq_pages; palloc 1491 drivers/infiniband/hw/i40iw/i40iw_verbs.c hmc_p->idx = palloc->level1.idx; palloc 1497 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 1555 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc; palloc 1580 drivers/infiniband/hw/i40iw/i40iw_verbs.c palloc = &iwpbl->pble_alloc; palloc 1583 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_get_pble(&iwdev->sc_dev, iwdev->pble_rsrc, palloc, iwmr->page_cnt); palloc 1588 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (palloc->level != I40IW_LEVEL_1) palloc 1597 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 1614 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 1620 drivers/infiniband/hw/i40iw/i40iw_verbs.c pbl = (u64 *)palloc->level1.addr; palloc 1679 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 1702 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (palloc->level == I40IW_LEVEL_1) { palloc 1703 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag_info->first_pm_pbl_index = palloc->level1.idx; palloc 1706 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag_info->first_pm_pbl_index = palloc->level2.root.idx; palloc 1746 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc; palloc 1799 drivers/infiniband/hw/i40iw/i40iw_verbs.c palloc = &iwpbl->pble_alloc; palloc 1835 drivers/infiniband/hw/i40iw/i40iw_verbs.c ret = i40iw_check_mr_contiguous(palloc, iwmr->page_size); palloc 1837 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 1870 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (palloc->level != I40IW_LEVEL_0 && iwpbl->pbl_allocated) palloc 1871 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 1993 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; palloc 2012 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 2042 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); palloc 2236 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_pble_alloc *palloc = &iwmr->iwpbl.pble_alloc; palloc 2251 drivers/infiniband/hw/i40iw/i40iw_verbs.c info.reg_addr_pa = *(u64 *)palloc->level1.addr; palloc 2252 drivers/infiniband/hw/i40iw/i40iw_verbs.c info.first_pm_pbl_index = palloc->level1.idx;