• Home
  • Raw
  • Download

Lines Matching refs:gem

27 	drm_gem_object_put_unlocked(&obj->gem);  in tegra_bo_put()
49 else if (obj->gem.import_attach) in tegra_bo_mmap()
50 return dma_buf_vmap(obj->gem.import_attach->dmabuf); in tegra_bo_mmap()
62 else if (obj->gem.import_attach) in tegra_bo_munmap()
63 dma_buf_vunmap(obj->gem.import_attach->dmabuf, addr); in tegra_bo_munmap()
74 else if (obj->gem.import_attach) in tegra_bo_kmap()
75 return dma_buf_kmap(obj->gem.import_attach->dmabuf, page); in tegra_bo_kmap()
88 else if (obj->gem.import_attach) in tegra_bo_kunmap()
89 dma_buf_kunmap(obj->gem.import_attach->dmabuf, page, addr); in tegra_bo_kunmap()
98 drm_gem_object_get(&obj->gem); in tegra_bo_get()
129 bo->mm, bo->gem.size, PAGE_SIZE, 0, 0); in tegra_bo_iommu_map()
186 err = drm_gem_object_init(drm, &bo->gem, size); in tegra_bo_alloc_object()
190 err = drm_gem_create_mmap_offset(&bo->gem); in tegra_bo_alloc_object()
197 drm_gem_object_release(&bo->gem); in tegra_bo_alloc_object()
208 drm_gem_put_pages(&bo->gem, bo->pages, true, true); in tegra_bo_free()
212 dma_free_wc(drm->dev, bo->gem.size, bo->vaddr, bo->paddr); in tegra_bo_free()
220 bo->pages = drm_gem_get_pages(&bo->gem); in tegra_bo_get_pages()
224 bo->num_pages = bo->gem.size >> PAGE_SHIFT; in tegra_bo_get_pages()
245 drm_gem_put_pages(&bo->gem, bo->pages, false, false); in tegra_bo_get_pages()
265 size_t size = bo->gem.size; in tegra_bo_alloc()
303 drm_gem_object_release(&bo->gem); in tegra_bo_create()
321 err = drm_gem_handle_create(file, &bo->gem, handle); in tegra_bo_create_with_handle()
323 tegra_bo_free_object(&bo->gem); in tegra_bo_create_with_handle()
327 drm_gem_object_put_unlocked(&bo->gem); in tegra_bo_create_with_handle()
371 bo->gem.import_attach = attach; in tegra_bo_import()
382 drm_gem_object_release(&bo->gem); in tegra_bo_import()
387 void tegra_bo_free_object(struct drm_gem_object *gem) in tegra_bo_free_object() argument
389 struct tegra_drm *tegra = gem->dev->dev_private; in tegra_bo_free_object()
390 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_bo_free_object()
395 if (gem->import_attach) { in tegra_bo_free_object()
396 dma_buf_unmap_attachment(gem->import_attach, bo->sgt, in tegra_bo_free_object()
398 drm_prime_gem_destroy(gem, NULL); in tegra_bo_free_object()
400 tegra_bo_free(gem->dev, bo); in tegra_bo_free_object()
403 drm_gem_object_release(gem); in tegra_bo_free_object()
428 struct drm_gem_object *gem = vma->vm_private_data; in tegra_bo_fault() local
429 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_bo_fault()
448 int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) in __tegra_gem_mmap() argument
450 struct tegra_bo *bo = to_tegra_bo(gem); in __tegra_gem_mmap()
464 err = dma_mmap_wc(gem->dev->dev, vma, bo->vaddr, bo->paddr, in __tegra_gem_mmap()
465 gem->size); in __tegra_gem_mmap()
486 struct drm_gem_object *gem; in tegra_drm_mmap() local
493 gem = vma->vm_private_data; in tegra_drm_mmap()
495 return __tegra_gem_mmap(gem, vma); in tegra_drm_mmap()
502 struct drm_gem_object *gem = attach->dmabuf->priv; in tegra_gem_prime_map_dma_buf() local
503 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_map_dma_buf()
527 sg_dma_len(sgt->sgl) = gem->size; in tegra_gem_prime_map_dma_buf()
542 struct drm_gem_object *gem = attach->dmabuf->priv; in tegra_gem_prime_unmap_dma_buf() local
543 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_unmap_dma_buf()
560 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_begin_cpu_access() local
561 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_begin_cpu_access()
562 struct drm_device *drm = gem->dev; in tegra_gem_prime_begin_cpu_access()
574 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_end_cpu_access() local
575 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_end_cpu_access()
576 struct drm_device *drm = gem->dev; in tegra_gem_prime_end_cpu_access()
597 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_mmap() local
600 err = drm_gem_mmap_obj(gem, gem->size, vma); in tegra_gem_prime_mmap()
604 return __tegra_gem_mmap(gem, vma); in tegra_gem_prime_mmap()
609 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_vmap() local
610 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_vmap()
632 struct dma_buf *tegra_gem_prime_export(struct drm_gem_object *gem, in tegra_gem_prime_export() argument
638 exp_info.owner = gem->dev->driver->fops->owner; in tegra_gem_prime_export()
640 exp_info.size = gem->size; in tegra_gem_prime_export()
642 exp_info.priv = gem; in tegra_gem_prime_export()
644 return drm_gem_dmabuf_export(gem->dev, &exp_info); in tegra_gem_prime_export()
653 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_import() local
655 if (gem->dev == drm) { in tegra_gem_prime_import()
656 drm_gem_object_get(gem); in tegra_gem_prime_import()
657 return gem; in tegra_gem_prime_import()
665 return &bo->gem; in tegra_gem_prime_import()