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()
127 etnaviv_iommu_unmap(context, mapping->vram_node.start, in etnaviv_iommu_remove_mapping()
129 drm_mm_remove_node(&mapping->vram_node); in etnaviv_iommu_remove_mapping()
164 * so we must keep its mapping. in etnaviv_iommu_find_iova()
196 * this mapping. in etnaviv_iommu_find_iova()
226 struct etnaviv_vram_mapping *mapping, u64 va) in etnaviv_iommu_map_gem() argument
243 mapping->iova = iova; in etnaviv_iommu_map_gem()
244 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_map_gem()
250 node = &mapping->vram_node; in etnaviv_iommu_map_gem()
261 mapping->iova = node->start; in etnaviv_iommu_map_gem()
270 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_map_gem()
279 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_unmap_gem() argument
281 WARN_ON(mapping->use); in etnaviv_iommu_unmap_gem()
286 if (mapping->vram_node.mm == &context->mm) in etnaviv_iommu_unmap_gem()
287 etnaviv_iommu_remove_mapping(context, mapping); in etnaviv_iommu_unmap_gem()
289 list_del(&mapping->mmu_node); in etnaviv_iommu_unmap_gem()
351 struct etnaviv_vram_mapping *mapping, in etnaviv_iommu_get_suballoc_va() argument
357 if (mapping->use > 0) { in etnaviv_iommu_get_suballoc_va()
358 mapping->use++; in etnaviv_iommu_get_suballoc_va()
366 * window. Instead we manufacture a mapping to make it look uniform in etnaviv_iommu_get_suballoc_va()
370 mapping->iova = paddr - memory_base; in etnaviv_iommu_get_suballoc_va()
372 struct drm_mm_node *node = &mapping->vram_node; in etnaviv_iommu_get_suballoc_va()
381 mapping->iova = node->start; in etnaviv_iommu_get_suballoc_va()
393 list_add_tail(&mapping->mmu_node, &context->mappings); in etnaviv_iommu_get_suballoc_va()
394 mapping->use = 1; in etnaviv_iommu_get_suballoc_va()
402 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_put_suballoc_va() argument
404 struct drm_mm_node *node = &mapping->vram_node; in etnaviv_iommu_put_suballoc_va()
407 mapping->use--; in etnaviv_iommu_put_suballoc_va()
409 if (mapping->use > 0 || context->global->version == ETNAVIV_IOMMU_V1) { in etnaviv_iommu_put_suballoc_va()