Lines Matching refs:top

84 	struct ehca_top_bmap *top[EHCA_MAP_ENTRIES];  member
1523 static inline void *ehca_calc_sectbase(int top, int dir, int idx) in ehca_calc_sectbase() argument
1527 ret |= top << EHCA_TOP_INDEX_SHIFT; in ehca_calc_sectbase()
1534 static u64 ehca_reg_mr_section(int top, int dir, int idx, u64 *kpage, in ehca_reg_mr_section() argument
1543 void *sectbase = ehca_calc_sectbase(top, dir, idx); in ehca_reg_mr_section()
1571 static u64 ehca_reg_mr_sections(int top, int dir, u64 *kpage, in ehca_reg_mr_sections() argument
1579 if (!ehca_bmap_valid(ehca_bmap->top[top]->dir[dir]->ent[idx])) in ehca_reg_mr_sections()
1582 hret = ehca_reg_mr_section(top, dir, idx, kpage, shca, mr, in ehca_reg_mr_sections()
1590 static u64 ehca_reg_mr_dir_sections(int top, u64 *kpage, struct ehca_shca *shca, in ehca_reg_mr_dir_sections() argument
1598 if (!ehca_bmap_valid(ehca_bmap->top[top]->dir[dir])) in ehca_reg_mr_dir_sections()
1601 hret = ehca_reg_mr_sections(top, dir, kpage, shca, mr, pginfo); in ehca_reg_mr_dir_sections()
2274 static inline int ehca_init_bmap(struct ehca_bmap *ehca_bmap, int top, int dir) in ehca_init_bmap() argument
2276 if (!ehca_bmap_valid(ehca_bmap->top[top])) { in ehca_init_bmap()
2277 ehca_bmap->top[top] = in ehca_init_bmap()
2279 if (!ehca_bmap->top[top]) in ehca_init_bmap()
2282 memset(ehca_bmap->top[top], 0xFF, EHCA_DIR_MAP_SIZE); in ehca_init_bmap()
2284 return ehca_init_top_bmap(ehca_bmap->top[top], dir); in ehca_init_bmap()
2294 int top, dir; in ehca_destroy_busmap() local
2299 for (top = 0; top < EHCA_MAP_ENTRIES; top++) { in ehca_destroy_busmap()
2300 if (!ehca_bmap_valid(ehca_bmap->top[top])) in ehca_destroy_busmap()
2303 if (!ehca_bmap_valid(ehca_bmap->top[top]->dir[dir])) in ehca_destroy_busmap()
2306 kfree(ehca_bmap->top[top]->dir[dir]); in ehca_destroy_busmap()
2309 kfree(ehca_bmap->top[top]); in ehca_destroy_busmap()
2319 int top, dir, idx; in ehca_update_busmap() local
2336 top = ehca_calc_index(i, EHCA_TOP_INDEX_SHIFT); in ehca_update_busmap()
2340 ret = ehca_init_bmap(ehca_bmap, top, dir); in ehca_update_busmap()
2345 ehca_bmap->top[top]->dir[dir]->ent[idx] = ehca_mr_len; in ehca_update_busmap()
2412 int top; in ehca_reg_bmap_mr_rpages() local
2420 for (top = 0; top < EHCA_MAP_ENTRIES; top++) { in ehca_reg_bmap_mr_rpages()
2421 if (!ehca_bmap_valid(ehca_bmap->top[top])) in ehca_reg_bmap_mr_rpages()
2423 hret = ehca_reg_mr_dir_sections(top, kpage, shca, e_mr, pginfo); in ehca_reg_bmap_mr_rpages()
2435 "hca_hndl=%llx mr_hndl=%llx", hret, e_mr, top, in ehca_reg_bmap_mr_rpages()
2445 int top, dir, idx; in ehca_map_vaddr() local
2453 top = ehca_calc_index(abs_addr, EHCA_TOP_INDEX_SHIFT + EHCA_SECTSHIFT); in ehca_map_vaddr()
2454 if (!ehca_bmap_valid(ehca_bmap->top[top])) in ehca_map_vaddr()
2458 if (!ehca_bmap_valid(ehca_bmap->top[top]->dir[dir])) in ehca_map_vaddr()
2463 entry = ehca_bmap->top[top]->dir[dir]->ent[idx]; in ehca_map_vaddr()