Lines Matching full:map

27     /* Map at the left of the hole, can be NULL if "this" is first one */
30 /* Map at the right of the hole, can be NULL if "prev" is the last one */
84 const DMAMap *iova_tree_find(const IOVATree *tree, const DMAMap *map) in iova_tree_find() argument
86 return g_tree_lookup(tree->tree, map); in iova_tree_find()
92 const DMAMap *map = key; in iova_tree_find_address_iterator() local
99 if (map->translated_addr + map->size < needle->translated_addr || in iova_tree_find_address_iterator()
100 needle->translated_addr + needle->size < map->translated_addr) { in iova_tree_find_address_iterator()
104 args->result = map; in iova_tree_find_address_iterator()
108 const DMAMap *iova_tree_find_iova(const IOVATree *tree, const DMAMap *map) in iova_tree_find_iova() argument
111 .needle = map, in iova_tree_find_iova()
124 int iova_tree_insert(IOVATree *tree, const DMAMap *map) in iova_tree_insert() argument
128 if (map->iova + map->size < map->iova || map->perm == IOMMU_NONE) { in iova_tree_insert()
133 if (iova_tree_find(tree, map)) { in iova_tree_insert()
138 memcpy(new, map, sizeof(*new)); in iova_tree_insert()
144 void iova_tree_remove(IOVATree *tree, DMAMap map) in iova_tree_remove() argument
148 while ((overlap = iova_tree_find(tree, &map))) { in iova_tree_remove()
213 int iova_tree_alloc_map(IOVATree *tree, DMAMap *map, hwaddr iova_begin, in iova_tree_alloc_map() argument
217 .new_size = map->size, in iova_tree_alloc_map()
247 if (!args.iova_found || args.iova_result + map->size > iova_last) { in iova_tree_alloc_map()
251 map->iova = args.iova_result; in iova_tree_alloc_map()
252 return iova_tree_insert(tree, map); in iova_tree_alloc_map()
286 int gpa_tree_insert(IOVATree *tree, const DMAMap *map) in gpa_tree_insert() argument
290 if (map->translated_addr + map->size < map->translated_addr || in gpa_tree_insert()
291 map->perm == IOMMU_NONE) { in gpa_tree_insert()
296 if (iova_tree_find(tree, map)) { in gpa_tree_insert()
301 memcpy(new, map, sizeof(*new)); in gpa_tree_insert()