Lines Matching full:mapping

6 #include <linux/dma-mapping.h>
65 /* unroll mapping in case something went wrong */ in etnaviv_context_map()
123 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_remove_mapping() argument
125 struct etnaviv_gem_object *etnaviv_obj = mapping->object; in etnaviv_iommu_remove_mapping()
129 etnaviv_iommu_unmap(context, mapping->vram_node.start, in etnaviv_iommu_remove_mapping()
131 drm_mm_remove_node(&mapping->vram_node); in etnaviv_iommu_remove_mapping()
166 * so we must keep its mapping. in etnaviv_iommu_find_iova()
198 * this mapping. in etnaviv_iommu_find_iova()
230 struct etnaviv_vram_mapping *mapping, u64 va) in etnaviv_iommu_map_gem() argument
247 mapping->iova = iova; in etnaviv_iommu_map_gem()
248 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_map_gem()
254 node = &mapping->vram_node; in etnaviv_iommu_map_gem()
265 mapping->iova = node->start; in etnaviv_iommu_map_gem()
274 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_map_gem()
283 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_unmap_gem() argument
285 WARN_ON(mapping->use); in etnaviv_iommu_unmap_gem()
290 if (mapping->vram_node.mm == &context->mm) in etnaviv_iommu_unmap_gem()
291 etnaviv_iommu_remove_mapping(context, mapping); in etnaviv_iommu_unmap_gem()
293 list_del(&mapping->mmu_node); in etnaviv_iommu_unmap_gem()
355 struct etnaviv_vram_mapping *mapping, in etnaviv_iommu_get_suballoc_va() argument
361 if (mapping->use > 0) { in etnaviv_iommu_get_suballoc_va()
362 mapping->use++; in etnaviv_iommu_get_suballoc_va()
370 * window. Instead we manufacture a mapping to make it look uniform in etnaviv_iommu_get_suballoc_va()
374 mapping->iova = paddr - memory_base; in etnaviv_iommu_get_suballoc_va()
376 struct drm_mm_node *node = &mapping->vram_node; in etnaviv_iommu_get_suballoc_va()
385 mapping->iova = node->start; in etnaviv_iommu_get_suballoc_va()
397 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_get_suballoc_va()
398 mapping->use = 1; in etnaviv_iommu_get_suballoc_va()
406 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_put_suballoc_va() argument
408 struct drm_mm_node *node = &mapping->vram_node; in etnaviv_iommu_put_suballoc_va()
411 mapping->use--; in etnaviv_iommu_put_suballoc_va()
413 if (mapping->use > 0 || context->global->version == ETNAVIV_IOMMU_V1) { in etnaviv_iommu_put_suballoc_va()