Lines Matching refs:gem
31 struct drm_device *drm = obj->gem.dev; in tegra_bo_put()
34 drm_gem_object_unreference(&obj->gem); in tegra_bo_put()
75 struct drm_device *drm = obj->gem.dev; in tegra_bo_get()
78 drm_gem_object_reference(&obj->gem); in tegra_bo_get()
107 err = drm_mm_insert_node_generic(&tegra->mm, bo->mm, bo->gem.size, in tegra_bo_iommu_map()
160 err = drm_gem_object_init(drm, &bo->gem, size); in tegra_bo_alloc_object()
164 err = drm_gem_create_mmap_offset(&bo->gem); in tegra_bo_alloc_object()
171 drm_gem_object_release(&bo->gem); in tegra_bo_alloc_object()
180 drm_gem_put_pages(&bo->gem, bo->pages, true, true); in tegra_bo_free()
184 dma_free_writecombine(drm->dev, bo->gem.size, bo->vaddr, in tegra_bo_free()
195 bo->pages = drm_gem_get_pages(&bo->gem); in tegra_bo_get_pages()
199 bo->num_pages = bo->gem.size >> PAGE_SHIFT; in tegra_bo_get_pages()
229 drm_gem_put_pages(&bo->gem, bo->pages, false, false); in tegra_bo_get_pages()
249 size_t size = bo->gem.size; in tegra_bo_alloc()
287 drm_gem_object_release(&bo->gem); in tegra_bo_create()
305 err = drm_gem_handle_create(file, &bo->gem, handle); in tegra_bo_create_with_handle()
307 tegra_bo_free_object(&bo->gem); in tegra_bo_create_with_handle()
311 drm_gem_object_unreference_unlocked(&bo->gem); in tegra_bo_create_with_handle()
360 bo->gem.import_attach = attach; in tegra_bo_import()
371 drm_gem_object_release(&bo->gem); in tegra_bo_import()
376 void tegra_bo_free_object(struct drm_gem_object *gem) in tegra_bo_free_object() argument
378 struct tegra_drm *tegra = gem->dev->dev_private; in tegra_bo_free_object()
379 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_bo_free_object()
384 if (gem->import_attach) { in tegra_bo_free_object()
385 dma_buf_unmap_attachment(gem->import_attach, bo->sgt, in tegra_bo_free_object()
387 drm_prime_gem_destroy(gem, NULL); in tegra_bo_free_object()
389 tegra_bo_free(gem->dev, bo); in tegra_bo_free_object()
392 drm_gem_object_release(gem); in tegra_bo_free_object()
417 struct drm_gem_object *gem; in tegra_bo_dumb_map_offset() local
422 gem = drm_gem_object_lookup(drm, file, handle); in tegra_bo_dumb_map_offset()
423 if (!gem) { in tegra_bo_dumb_map_offset()
429 bo = to_tegra_bo(gem); in tegra_bo_dumb_map_offset()
431 *offset = drm_vma_node_offset_addr(&bo->gem.vma_node); in tegra_bo_dumb_map_offset()
433 drm_gem_object_unreference(gem); in tegra_bo_dumb_map_offset()
442 struct drm_gem_object *gem = vma->vm_private_data; in tegra_bo_fault() local
443 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_bo_fault()
478 struct drm_gem_object *gem; in tegra_drm_mmap() local
486 gem = vma->vm_private_data; in tegra_drm_mmap()
487 bo = to_tegra_bo(gem); in tegra_drm_mmap()
495 ret = dma_mmap_writecombine(gem->dev->dev, vma, bo->vaddr, in tegra_drm_mmap()
496 bo->paddr, gem->size); in tegra_drm_mmap()
519 struct drm_gem_object *gem = attach->dmabuf->priv; in tegra_gem_prime_map_dma_buf() local
520 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_map_dma_buf()
544 sg_dma_len(sgt->sgl) = gem->size; in tegra_gem_prime_map_dma_buf()
559 struct drm_gem_object *gem = attach->dmabuf->priv; in tegra_gem_prime_unmap_dma_buf() local
560 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_unmap_dma_buf()
603 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_vmap() local
604 struct tegra_bo *bo = to_tegra_bo(gem); in tegra_gem_prime_vmap()
627 struct drm_gem_object *gem, in tegra_gem_prime_export() argument
633 exp_info.size = gem->size; in tegra_gem_prime_export()
635 exp_info.priv = gem; in tegra_gem_prime_export()
646 struct drm_gem_object *gem = buf->priv; in tegra_gem_prime_import() local
648 if (gem->dev == drm) { in tegra_gem_prime_import()
649 drm_gem_object_reference(gem); in tegra_gem_prime_import()
650 return gem; in tegra_gem_prime_import()
658 return &bo->gem; in tegra_gem_prime_import()