Lines Matching refs:map
97 struct map { struct
106 static void __maybe_unused _debug_dump_map(const struct map *m, in _debug_dump_map() argument
118 static struct map map; variable
128 return (phys_addr < map.rm.size || phys_addr >= map.total) in ps3_mm_phys_to_lpar()
129 ? phys_addr : phys_addr + map.r1.offset; in ps3_mm_phys_to_lpar()
169 &map.vas_id, &map.htab_size); in ps3_mm_vas_create()
177 result = lv1_select_virtual_address_space(map.vas_id); in ps3_mm_vas_create()
185 *htab_size = map.htab_size; in ps3_mm_vas_create()
187 debug_dump_map(&map); in ps3_mm_vas_create()
205 if (map.vas_id) { in ps3_mm_vas_destroy()
207 result += lv1_destruct_virtual_address_space(map.vas_id); in ps3_mm_vas_destroy()
213 map.vas_id = 0; in ps3_mm_vas_destroy()
233 r->offset = r->base - map.rm.size; in ps3_mm_get_repository_highmem()
285 if (result || r->base < map.rm.size) { in ps3_mm_region_create()
292 r->offset = r->base - map.rm.size; in ps3_mm_region_create()
321 map.total = map.rm.size; in ps3_mm_region_destroy()
340 if (lpar_addr >= map.rm.size) in dma_sb_lpar_to_bus()
341 lpar_addr -= map.r1.offset; in dma_sb_lpar_to_bus()
988 if (r->offset < map.rm.size) { in dma_sb_region_create_linear()
990 virt_addr = map.rm.base + r->offset; in dma_sb_region_create_linear()
991 len = map.rm.size - r->offset; in dma_sb_region_create_linear()
1000 if (r->offset + r->len > map.rm.size) { in dma_sb_region_create_linear()
1002 virt_addr = map.rm.size; in dma_sb_region_create_linear()
1004 if (r->offset >= map.rm.size) in dma_sb_region_create_linear()
1005 virt_addr += r->offset - map.rm.size; in dma_sb_region_create_linear()
1007 len -= map.rm.size - r->offset; in dma_sb_region_create_linear()
1030 if (r->offset < map.rm.size) { in dma_sb_region_free_linear()
1032 lpar_addr = map.rm.base + r->offset; in dma_sb_region_free_linear()
1033 len = map.rm.size - r->offset; in dma_sb_region_free_linear()
1041 if (r->offset + r->len > map.rm.size) { in dma_sb_region_free_linear()
1043 lpar_addr = map.r1.base; in dma_sb_region_free_linear()
1045 if (r->offset >= map.rm.size) in dma_sb_region_free_linear()
1046 lpar_addr += r->offset - map.rm.size; in dma_sb_region_free_linear()
1048 len -= map.rm.size - r->offset; in dma_sb_region_free_linear()
1100 .map = dma_sb_map_area,
1107 .map = dma_sb_map_area_linear,
1114 .map = dma_ioc0_map_area,
1131 if (r->offset >= map.rm.size) in ps3_dma_region_init()
1132 r->offset -= map.r1.offset; in ps3_dma_region_init()
1133 r->len = len ? len : ALIGN(map.total, 1 << r->page_size); in ps3_dma_region_init()
1184 return r->region_ops->map(r, virt_addr, len, bus_addr, iopte_flag); in ps3_dma_map()
1207 result = ps3_repository_read_mm_info(&map.rm.base, &map.rm.size, in ps3_mm_init()
1208 &map.total); in ps3_mm_init()
1213 map.rm.offset = map.rm.base; in ps3_mm_init()
1214 map.vas_id = map.htab_size = 0; in ps3_mm_init()
1218 BUG_ON(map.rm.base); in ps3_mm_init()
1219 BUG_ON(!map.rm.size); in ps3_mm_init()
1223 if (ps3_mm_get_repository_highmem(&map.r1)) { in ps3_mm_init()
1224 result = ps3_mm_region_create(&map.r1, map.total - map.rm.size); in ps3_mm_init()
1227 ps3_mm_set_repository_highmem(&map.r1); in ps3_mm_init()
1231 map.total = map.rm.size + map.r1.size; in ps3_mm_init()
1233 if (!map.r1.size) { in ps3_mm_init()
1237 __func__, __LINE__, map.rm.size, in ps3_mm_init()
1238 map.total - map.rm.size); in ps3_mm_init()
1239 memblock_add(map.rm.size, map.total - map.rm.size); in ps3_mm_init()
1253 ps3_mm_region_destroy(&map.r1); in ps3_mm_shutdown()