Lines Matching full:mapping

7 #include <linux/dma-mapping.h>
59 struct panfrost_gem_mapping *iter, *mapping = NULL; in panfrost_gem_mapping_get() local
65 mapping = iter; in panfrost_gem_mapping_get()
71 return mapping; in panfrost_gem_mapping_get()
75 panfrost_gem_teardown_mapping(struct panfrost_gem_mapping *mapping) in panfrost_gem_teardown_mapping() argument
79 if (mapping->active) in panfrost_gem_teardown_mapping()
80 panfrost_mmu_unmap(mapping); in panfrost_gem_teardown_mapping()
82 priv = container_of(mapping->mmu, struct panfrost_file_priv, mmu); in panfrost_gem_teardown_mapping()
84 if (drm_mm_node_allocated(&mapping->mmnode)) in panfrost_gem_teardown_mapping()
85 drm_mm_remove_node(&mapping->mmnode); in panfrost_gem_teardown_mapping()
91 struct panfrost_gem_mapping *mapping; in panfrost_gem_mapping_release() local
93 mapping = container_of(kref, struct panfrost_gem_mapping, refcount); in panfrost_gem_mapping_release()
95 panfrost_gem_teardown_mapping(mapping); in panfrost_gem_mapping_release()
96 drm_gem_object_put(&mapping->obj->base.base); in panfrost_gem_mapping_release()
97 kfree(mapping); in panfrost_gem_mapping_release()
100 void panfrost_gem_mapping_put(struct panfrost_gem_mapping *mapping) in panfrost_gem_mapping_put() argument
102 if (!mapping) in panfrost_gem_mapping_put()
105 kref_put(&mapping->refcount, panfrost_gem_mapping_release); in panfrost_gem_mapping_put()
110 struct panfrost_gem_mapping *mapping; in panfrost_gem_teardown_mappings_locked() local
112 list_for_each_entry(mapping, &bo->mappings.list, node) in panfrost_gem_teardown_mappings_locked()
113 panfrost_gem_teardown_mapping(mapping); in panfrost_gem_teardown_mappings_locked()
124 struct panfrost_gem_mapping *mapping; in panfrost_gem_open() local
126 mapping = kzalloc(sizeof(*mapping), GFP_KERNEL); in panfrost_gem_open()
127 if (!mapping) in panfrost_gem_open()
130 INIT_LIST_HEAD(&mapping->node); in panfrost_gem_open()
131 kref_init(&mapping->refcount); in panfrost_gem_open()
133 mapping->obj = bo; in panfrost_gem_open()
146 mapping->mmu = &priv->mmu; in panfrost_gem_open()
148 ret = drm_mm_insert_node_generic(&priv->mm, &mapping->mmnode, in panfrost_gem_open()
155 ret = panfrost_mmu_map(mapping); in panfrost_gem_open()
162 list_add_tail(&mapping->node, &bo->mappings.list); in panfrost_gem_open()
167 panfrost_gem_mapping_put(mapping); in panfrost_gem_open()
175 struct panfrost_gem_mapping *mapping = NULL, *iter; in panfrost_gem_close() local
180 mapping = iter; in panfrost_gem_close()
187 panfrost_gem_mapping_put(mapping); in panfrost_gem_close()