Lines Matching defs:map
49 struct vhost_iotlb_map *map;
51 while ((map = vhost_iotlb_itree_first(domain->iotlb, start, last))) {
52 map_file = (struct vdpa_map_file *)map->opaque;
55 vhost_iotlb_map_free(domain->iotlb, map);
63 struct vhost_iotlb_map *map;
70 for (map = vhost_iotlb_itree_first(iotlb, start, last); map;
71 map = vhost_iotlb_itree_next(map, start, last)) {
72 map_file = (struct vdpa_map_file *)map->opaque;
73 ret = vduse_iotlb_add_range(domain, map->start, map->last,
74 map->addr, map->perm,
92 struct vhost_iotlb_map *map;
96 for (map = vhost_iotlb_itree_first(iotlb, start, last); map;
97 map = vhost_iotlb_itree_next(map, start, last)) {
98 vduse_iotlb_del_range(domain, map->start, map->last);
106 struct vduse_bounce_map *map;
110 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
111 if (!map->bounce_page) {
112 map->bounce_page = alloc_page(GFP_ATOMIC);
113 if (!map->bounce_page)
116 map->orig_phys = paddr;
126 struct vduse_bounce_map *map;
130 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
131 map->orig_phys = INVALID_PHYS_ADDR;
164 struct vduse_bounce_map *map;
173 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
177 if (WARN_ON(!map->bounce_page ||
178 map->orig_phys == INVALID_PHYS_ADDR))
181 addr = kmap_local_page(map->bounce_page);
182 do_bounce(map->orig_phys + offset, addr + offset, sz, dir);
194 struct vhost_iotlb_map *map;
198 map = vhost_iotlb_itree_first(domain->iotlb, start, last);
199 if (!map)
202 page = pfn_to_page((map->addr + iova - map->start) >> PAGE_SHIFT);
213 struct vduse_bounce_map *map;
217 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
218 if (domain->user_bounce_pages || !map->bounce_page)
221 page = map->bounce_page;
232 struct vduse_bounce_map *map;
238 map = &domain->bounce_maps[pfn];
239 if (WARN_ON(map->orig_phys != INVALID_PHYS_ADDR))
242 if (!map->bounce_page)
245 __free_page(map->bounce_page);
246 map->bounce_page = NULL;
253 struct vduse_bounce_map *map;
266 map = &domain->bounce_maps[i];
267 if (map->bounce_page) {
269 if (map->orig_phys != INVALID_PHYS_ADDR)
271 page_address(map->bounce_page),
273 __free_page(map->bounce_page);
275 map->bounce_page = pages[i];
288 struct vduse_bounce_map *map;
299 map = &domain->bounce_maps[i];
300 if (WARN_ON(!map->bounce_page))
304 if (map->orig_phys != INVALID_PHYS_ADDR) {
307 map->bounce_page, 0, PAGE_SIZE);
309 put_page(map->bounce_page);
310 map->bounce_page = page;
463 struct vhost_iotlb_map *map;
468 map = vhost_iotlb_itree_first(domain->iotlb, (u64)dma_addr,
470 if (WARN_ON(!map)) {
474 map_file = (struct vdpa_map_file *)map->opaque;
477 pa = map->addr;
478 vhost_iotlb_map_free(domain->iotlb, map);
556 struct vduse_bounce_map *map;
580 map = &domain->bounce_maps[pfn];
581 map->orig_phys = INVALID_PHYS_ADDR;