Lines Matching full:vde

17 #include "vde.h"
25 struct tegra_vde *vde; member
38 if (entry->vde->domain) in tegra_vde_release_entry()
39 tegra_vde_iommu_unmap(entry->vde, entry->iova); in tegra_vde_release_entry()
52 struct tegra_vde *vde; in tegra_vde_delayed_unmap() local
56 vde = entry->vde; in tegra_vde_delayed_unmap()
58 mutex_lock(&vde->map_lock); in tegra_vde_delayed_unmap()
60 mutex_unlock(&vde->map_lock); in tegra_vde_delayed_unmap()
63 int tegra_vde_dmabuf_cache_map(struct tegra_vde *vde, in tegra_vde_dmabuf_cache_map() argument
71 struct device *dev = vde->dev; in tegra_vde_dmabuf_cache_map()
76 mutex_lock(&vde->map_lock); in tegra_vde_dmabuf_cache_map()
78 list_for_each_entry(entry, &vde->map_list, list) { in tegra_vde_dmabuf_cache_map()
90 if (vde->domain) in tegra_vde_dmabuf_cache_map()
91 *addrp = iova_dma_addr(&vde->iova, entry->iova); in tegra_vde_dmabuf_cache_map()
112 if (!vde->domain && sgt->nents > 1) { in tegra_vde_dmabuf_cache_map()
124 if (vde->domain) { in tegra_vde_dmabuf_cache_map()
125 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map()
129 *addrp = iova_dma_addr(&vde->iova, iova); in tegra_vde_dmabuf_cache_map()
136 list_add(&entry->list, &vde->map_list); in tegra_vde_dmabuf_cache_map()
140 entry->vde = vde; in tegra_vde_dmabuf_cache_map()
148 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_map()
159 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_map()
164 void tegra_vde_dmabuf_cache_unmap(struct tegra_vde *vde, in tegra_vde_dmabuf_cache_unmap() argument
170 mutex_lock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap()
172 list_for_each_entry(entry, &vde->map_list, list) { in tegra_vde_dmabuf_cache_unmap()
187 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap()
190 void tegra_vde_dmabuf_cache_unmap_sync(struct tegra_vde *vde) in tegra_vde_dmabuf_cache_unmap_sync() argument
194 mutex_lock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_sync()
196 list_for_each_entry_safe(entry, tmp, &vde->map_list, list) { in tegra_vde_dmabuf_cache_unmap_sync()
206 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_sync()
209 void tegra_vde_dmabuf_cache_unmap_all(struct tegra_vde *vde) in tegra_vde_dmabuf_cache_unmap_all() argument
213 mutex_lock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_all()
215 while (!list_empty(&vde->map_list)) { in tegra_vde_dmabuf_cache_unmap_all()
216 list_for_each_entry_safe(entry, tmp, &vde->map_list, list) { in tegra_vde_dmabuf_cache_unmap_all()
223 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_all()
225 mutex_lock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_all()
228 mutex_unlock(&vde->map_lock); in tegra_vde_dmabuf_cache_unmap_all()