Lines Matching defs:mapping
6 #include <linux/dma-mapping.h>
65 /* unroll mapping in case something went wrong */
123 struct etnaviv_vram_mapping *mapping)
125 struct etnaviv_gem_object *etnaviv_obj = mapping->object;
127 etnaviv_iommu_unmap(context, mapping->vram_node.start,
129 drm_mm_remove_node(&mapping->vram_node);
164 * so we must keep its mapping.
196 * this mapping.
226 struct etnaviv_vram_mapping *mapping, u64 va)
243 mapping->iova = iova;
244 list_add_tail(&mapping->mmu_node, &context->mappings);
250 node = &mapping->vram_node;
261 mapping->iova = node->start;
270 list_add_tail(&mapping->mmu_node, &context->mappings);
279 struct etnaviv_vram_mapping *mapping)
281 WARN_ON(mapping->use);
285 /* Bail if the mapping has been reaped by another thread */
286 if (!mapping->context) {
292 if (mapping->vram_node.mm == &context->mm)
293 etnaviv_iommu_remove_mapping(context, mapping);
295 list_del(&mapping->mmu_node);
357 struct etnaviv_vram_mapping *mapping,
363 if (mapping->use > 0) {
364 mapping->use++;
372 * window. Instead we manufacture a mapping to make it look uniform
376 mapping->iova = paddr - memory_base;
378 struct drm_mm_node *node = &mapping->vram_node;
387 mapping->iova = node->start;
399 list_add_tail(&mapping->mmu_node, &context->mappings);
400 mapping->use = 1;
408 struct etnaviv_vram_mapping *mapping)
410 struct drm_mm_node *node = &mapping->vram_node;
413 mapping->use--;
415 if (mapping->use > 0 || context->global->version == ETNAVIV_IOMMU_V1) {