etnaviv_obj 20 drivers/gpu/drm/etnaviv/etnaviv_gem.c static void etnaviv_gem_scatter_map(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 22 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct drm_device *dev = etnaviv_obj->base.dev; etnaviv_obj 23 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct sg_table *sgt = etnaviv_obj->sgt; etnaviv_obj 29 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->flags & ETNA_BO_CACHE_MASK) etnaviv_obj 33 drivers/gpu/drm/etnaviv/etnaviv_gem.c static void etnaviv_gem_scatterlist_unmap(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 35 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct drm_device *dev = etnaviv_obj->base.dev; etnaviv_obj 36 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct sg_table *sgt = etnaviv_obj->sgt; etnaviv_obj 53 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->flags & ETNA_BO_CACHE_MASK) etnaviv_obj 58 drivers/gpu/drm/etnaviv/etnaviv_gem.c static int etnaviv_gem_shmem_get_pages(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 60 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct drm_device *dev = etnaviv_obj->base.dev; etnaviv_obj 61 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct page **p = drm_gem_get_pages(&etnaviv_obj->base); etnaviv_obj 68 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->pages = p; etnaviv_obj 73 drivers/gpu/drm/etnaviv/etnaviv_gem.c static void put_pages(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 75 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->sgt) { etnaviv_obj 76 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_gem_scatterlist_unmap(etnaviv_obj); etnaviv_obj 77 drivers/gpu/drm/etnaviv/etnaviv_gem.c sg_free_table(etnaviv_obj->sgt); etnaviv_obj 78 drivers/gpu/drm/etnaviv/etnaviv_gem.c kfree(etnaviv_obj->sgt); etnaviv_obj 79 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->sgt = NULL; etnaviv_obj 81 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->pages) { etnaviv_obj 82 drivers/gpu/drm/etnaviv/etnaviv_gem.c drm_gem_put_pages(&etnaviv_obj->base, etnaviv_obj->pages, etnaviv_obj 85 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->pages = NULL; etnaviv_obj 89 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct page **etnaviv_gem_get_pages(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 93 drivers/gpu/drm/etnaviv/etnaviv_gem.c lockdep_assert_held(&etnaviv_obj->lock); etnaviv_obj 95 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (!etnaviv_obj->pages) { etnaviv_obj 96 drivers/gpu/drm/etnaviv/etnaviv_gem.c ret = etnaviv_obj->ops->get_pages(etnaviv_obj); etnaviv_obj 101 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (!etnaviv_obj->sgt) { etnaviv_obj 102 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct drm_device *dev = etnaviv_obj->base.dev; etnaviv_obj 103 drivers/gpu/drm/etnaviv/etnaviv_gem.c int npages = etnaviv_obj->base.size >> PAGE_SHIFT; etnaviv_obj 106 drivers/gpu/drm/etnaviv/etnaviv_gem.c sgt = drm_prime_pages_to_sg(etnaviv_obj->pages, npages); etnaviv_obj 113 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->sgt = sgt; etnaviv_obj 115 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_gem_scatter_map(etnaviv_obj); etnaviv_obj 118 drivers/gpu/drm/etnaviv/etnaviv_gem.c return etnaviv_obj->pages; etnaviv_obj 121 drivers/gpu/drm/etnaviv/etnaviv_gem.c void etnaviv_gem_put_pages(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 123 drivers/gpu/drm/etnaviv/etnaviv_gem.c lockdep_assert_held(&etnaviv_obj->lock); etnaviv_obj 127 drivers/gpu/drm/etnaviv/etnaviv_gem.c static int etnaviv_gem_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, etnaviv_obj 137 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->flags & ETNA_BO_WC) { etnaviv_obj 139 drivers/gpu/drm/etnaviv/etnaviv_gem.c } else if (etnaviv_obj->flags & ETNA_BO_UNCACHED) { etnaviv_obj 148 drivers/gpu/drm/etnaviv/etnaviv_gem.c get_file(etnaviv_obj->base.filp); etnaviv_obj 150 drivers/gpu/drm/etnaviv/etnaviv_gem.c vma->vm_file = etnaviv_obj->base.filp; etnaviv_obj 177 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 187 drivers/gpu/drm/etnaviv/etnaviv_gem.c err = mutex_lock_interruptible(&etnaviv_obj->lock); etnaviv_obj 191 drivers/gpu/drm/etnaviv/etnaviv_gem.c pages = etnaviv_gem_get_pages(etnaviv_obj); etnaviv_obj 192 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 240 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = mapping->object; etnaviv_obj 242 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 245 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 247 drivers/gpu/drm/etnaviv/etnaviv_gem.c drm_gem_object_put_unlocked(&etnaviv_obj->base); etnaviv_obj 254 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 259 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 260 drivers/gpu/drm/etnaviv/etnaviv_gem.c mapping = etnaviv_gem_get_vram_mapping(etnaviv_obj, mmu_context); etnaviv_obj 283 drivers/gpu/drm/etnaviv/etnaviv_gem.c pages = etnaviv_gem_get_pages(etnaviv_obj); etnaviv_obj 293 drivers/gpu/drm/etnaviv/etnaviv_gem.c mapping = etnaviv_gem_get_vram_mapping(etnaviv_obj, NULL); etnaviv_obj 302 drivers/gpu/drm/etnaviv/etnaviv_gem.c mapping->object = etnaviv_obj; etnaviv_obj 311 drivers/gpu/drm/etnaviv/etnaviv_gem.c ret = etnaviv_iommu_map_gem(mmu_context, etnaviv_obj, etnaviv_obj 318 drivers/gpu/drm/etnaviv/etnaviv_gem.c list_add_tail(&mapping->obj_node, &etnaviv_obj->vram_list); etnaviv_obj 322 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 334 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 336 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->vaddr) etnaviv_obj 337 drivers/gpu/drm/etnaviv/etnaviv_gem.c return etnaviv_obj->vaddr; etnaviv_obj 339 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 344 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (!etnaviv_obj->vaddr) etnaviv_obj 345 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->vaddr = etnaviv_obj->ops->vmap(etnaviv_obj); etnaviv_obj 346 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 348 drivers/gpu/drm/etnaviv/etnaviv_gem.c return etnaviv_obj->vaddr; etnaviv_obj 378 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 383 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (!etnaviv_obj->sgt) { etnaviv_obj 386 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 387 drivers/gpu/drm/etnaviv/etnaviv_gem.c ret = etnaviv_gem_get_pages(etnaviv_obj); etnaviv_obj 388 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 406 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->flags & ETNA_BO_CACHED) { etnaviv_obj 407 drivers/gpu/drm/etnaviv/etnaviv_gem.c dma_sync_sg_for_cpu(dev->dev, etnaviv_obj->sgt->sgl, etnaviv_obj 408 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->sgt->nents, etnaviv_obj 410 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->last_cpu_prep_op = op; etnaviv_obj 419 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 421 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->flags & ETNA_BO_CACHED) { etnaviv_obj 423 drivers/gpu/drm/etnaviv/etnaviv_gem.c WARN_ON(etnaviv_obj->last_cpu_prep_op == 0); etnaviv_obj 424 drivers/gpu/drm/etnaviv/etnaviv_gem.c dma_sync_sg_for_device(dev->dev, etnaviv_obj->sgt->sgl, etnaviv_obj 425 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->sgt->nents, etnaviv_obj 426 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_op_to_dma_dir(etnaviv_obj->last_cpu_prep_op)); etnaviv_obj 427 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->last_cpu_prep_op = 0; etnaviv_obj 436 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 438 drivers/gpu/drm/etnaviv/etnaviv_gem.c return etnaviv_gpu_wait_obj_inactive(gpu, etnaviv_obj, timeout); etnaviv_obj 455 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 462 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->flags, is_active(etnaviv_obj) ? 'A' : 'I', etnaviv_obj 464 drivers/gpu/drm/etnaviv/etnaviv_gem.c off, etnaviv_obj->vaddr, obj->size); etnaviv_obj 486 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj; etnaviv_obj 491 drivers/gpu/drm/etnaviv/etnaviv_gem.c list_for_each_entry(etnaviv_obj, &priv->gem_list, gem_node) { etnaviv_obj 492 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct drm_gem_object *obj = &etnaviv_obj->base; etnaviv_obj 505 drivers/gpu/drm/etnaviv/etnaviv_gem.c static void etnaviv_gem_shmem_release(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 507 drivers/gpu/drm/etnaviv/etnaviv_gem.c vunmap(etnaviv_obj->vaddr); etnaviv_obj 508 drivers/gpu/drm/etnaviv/etnaviv_gem.c put_pages(etnaviv_obj); etnaviv_obj 520 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 525 drivers/gpu/drm/etnaviv/etnaviv_gem.c WARN_ON(is_active(etnaviv_obj)); etnaviv_obj 528 drivers/gpu/drm/etnaviv/etnaviv_gem.c list_del(&etnaviv_obj->gem_node); etnaviv_obj 531 drivers/gpu/drm/etnaviv/etnaviv_gem.c list_for_each_entry_safe(mapping, tmp, &etnaviv_obj->vram_list, etnaviv_obj 547 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->ops->release(etnaviv_obj); etnaviv_obj 550 drivers/gpu/drm/etnaviv/etnaviv_gem.c kfree(etnaviv_obj); etnaviv_obj 556 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 559 drivers/gpu/drm/etnaviv/etnaviv_gem.c list_add_tail(&etnaviv_obj->gem_node, &priv->gem_list); etnaviv_obj 566 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj; etnaviv_obj 567 drivers/gpu/drm/etnaviv/etnaviv_gem.c unsigned sz = sizeof(*etnaviv_obj); etnaviv_obj 586 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj = kzalloc(sz, GFP_KERNEL); etnaviv_obj 587 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (!etnaviv_obj) etnaviv_obj 590 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->flags = flags; etnaviv_obj 591 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->ops = ops; etnaviv_obj 593 drivers/gpu/drm/etnaviv/etnaviv_gem.c mutex_init(&etnaviv_obj->lock); etnaviv_obj 594 drivers/gpu/drm/etnaviv/etnaviv_gem.c INIT_LIST_HEAD(&etnaviv_obj->vram_list); etnaviv_obj 596 drivers/gpu/drm/etnaviv/etnaviv_gem.c *obj = &etnaviv_obj->base; etnaviv_obj 658 drivers/gpu/drm/etnaviv/etnaviv_gem.c static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 661 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_userptr *userptr = &etnaviv_obj->userptr; etnaviv_obj 662 drivers/gpu/drm/etnaviv/etnaviv_gem.c int ret, pinned = 0, npages = etnaviv_obj->base.size >> PAGE_SHIFT; etnaviv_obj 690 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->pages = pvec; etnaviv_obj 695 drivers/gpu/drm/etnaviv/etnaviv_gem.c static void etnaviv_gem_userptr_release(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 697 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->sgt) { etnaviv_obj 698 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_gem_scatterlist_unmap(etnaviv_obj); etnaviv_obj 699 drivers/gpu/drm/etnaviv/etnaviv_gem.c sg_free_table(etnaviv_obj->sgt); etnaviv_obj 700 drivers/gpu/drm/etnaviv/etnaviv_gem.c kfree(etnaviv_obj->sgt); etnaviv_obj 702 drivers/gpu/drm/etnaviv/etnaviv_gem.c if (etnaviv_obj->pages) { etnaviv_obj 703 drivers/gpu/drm/etnaviv/etnaviv_gem.c int npages = etnaviv_obj->base.size >> PAGE_SHIFT; etnaviv_obj 705 drivers/gpu/drm/etnaviv/etnaviv_gem.c release_pages(etnaviv_obj->pages, npages); etnaviv_obj 706 drivers/gpu/drm/etnaviv/etnaviv_gem.c kvfree(etnaviv_obj->pages); etnaviv_obj 710 drivers/gpu/drm/etnaviv/etnaviv_gem.c static int etnaviv_gem_userptr_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, etnaviv_obj 726 drivers/gpu/drm/etnaviv/etnaviv_gem.c struct etnaviv_gem_object *etnaviv_obj; etnaviv_obj 730 drivers/gpu/drm/etnaviv/etnaviv_gem.c &etnaviv_gem_userptr_ops, &etnaviv_obj); etnaviv_obj 734 drivers/gpu/drm/etnaviv/etnaviv_gem.c lockdep_set_class(&etnaviv_obj->lock, &etnaviv_userptr_lock_class); etnaviv_obj 736 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->userptr.ptr = ptr; etnaviv_obj 737 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->userptr.mm = current->mm; etnaviv_obj 738 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_obj->userptr.ro = !(flags & ETNA_USERPTR_WRITE); etnaviv_obj 740 drivers/gpu/drm/etnaviv/etnaviv_gem.c etnaviv_gem_obj_add(dev, &etnaviv_obj->base); etnaviv_obj 742 drivers/gpu/drm/etnaviv/etnaviv_gem.c ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle); etnaviv_obj 745 drivers/gpu/drm/etnaviv/etnaviv_gem.c drm_gem_object_put_unlocked(&etnaviv_obj->base); etnaviv_obj 71 drivers/gpu/drm/etnaviv/etnaviv_gem.h static inline bool is_active(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 73 drivers/gpu/drm/etnaviv/etnaviv_gem.h return atomic_read(&etnaviv_obj->gpu_active) != 0; etnaviv_obj 16 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 19 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c if (WARN_ON(!etnaviv_obj->pages)) /* should have already pinned! */ etnaviv_obj 22 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c return drm_prime_pages_to_sg(etnaviv_obj->pages, npages); etnaviv_obj 38 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 45 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c return etnaviv_obj->ops->mmap(etnaviv_obj, vma); etnaviv_obj 51 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 53 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 54 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c etnaviv_gem_get_pages(etnaviv_obj); etnaviv_obj 55 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 63 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); etnaviv_obj 65 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c mutex_lock(&etnaviv_obj->lock); etnaviv_obj 67 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c mutex_unlock(&etnaviv_obj->lock); etnaviv_obj 71 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c static void etnaviv_gem_prime_release(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 73 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c if (etnaviv_obj->vaddr) etnaviv_obj 74 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c dma_buf_vunmap(etnaviv_obj->base.import_attach->dmabuf, etnaviv_obj 75 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c etnaviv_obj->vaddr); etnaviv_obj 80 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c if (etnaviv_obj->pages) etnaviv_obj 81 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c kvfree(etnaviv_obj->pages); etnaviv_obj 83 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c drm_prime_gem_destroy(&etnaviv_obj->base, etnaviv_obj->sgt); etnaviv_obj 86 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c static void *etnaviv_gem_prime_vmap_impl(struct etnaviv_gem_object *etnaviv_obj) etnaviv_obj 88 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c lockdep_assert_held(&etnaviv_obj->lock); etnaviv_obj 90 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c return dma_buf_vmap(etnaviv_obj->base.import_attach->dmabuf); etnaviv_obj 93 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c static int etnaviv_gem_prime_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, etnaviv_obj 96 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c return dma_buf_mmap(etnaviv_obj->base.dma_buf, vma, 0); etnaviv_obj 109 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c struct etnaviv_gem_object *etnaviv_obj; etnaviv_obj 114 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c &etnaviv_gem_prime_ops, &etnaviv_obj); etnaviv_obj 118 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c lockdep_set_class(&etnaviv_obj->lock, &etnaviv_prime_lock_class); etnaviv_obj 122 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c etnaviv_obj->sgt = sgt; etnaviv_obj 123 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c etnaviv_obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); etnaviv_obj 124 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c if (!etnaviv_obj->pages) { etnaviv_obj 129 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c ret = drm_prime_sg_to_page_addr_arrays(sgt, etnaviv_obj->pages, etnaviv_obj 134 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c etnaviv_gem_obj_add(dev, &etnaviv_obj->base); etnaviv_obj 136 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c return &etnaviv_obj->base; etnaviv_obj 139 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c drm_gem_object_put_unlocked(&etnaviv_obj->base); etnaviv_obj 231 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj; etnaviv_obj 234 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c mapping = etnaviv_gem_mapping_get(&etnaviv_obj->base, etnaviv_obj 248 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c atomic_inc(&etnaviv_obj->gpu_active); etnaviv_obj 391 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj; etnaviv_obj 396 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c atomic_dec(&etnaviv_obj->gpu_active); etnaviv_obj 403 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c drm_gem_object_put_unlocked(&etnaviv_obj->base); etnaviv_obj 1182 drivers/gpu/drm/etnaviv/etnaviv_gpu.c struct etnaviv_gem_object *etnaviv_obj, struct timespec *timeout) etnaviv_obj 1188 drivers/gpu/drm/etnaviv/etnaviv_gpu.c return !is_active(etnaviv_obj) ? 0 : -EBUSY; etnaviv_obj 1193 drivers/gpu/drm/etnaviv/etnaviv_gpu.c !is_active(etnaviv_obj), etnaviv_obj 174 drivers/gpu/drm/etnaviv/etnaviv_gpu.h struct etnaviv_gem_object *etnaviv_obj, struct timespec *timeout); etnaviv_obj 132 drivers/gpu/drm/etnaviv/etnaviv_mmu.c struct etnaviv_gem_object *etnaviv_obj = mapping->object; etnaviv_obj 135 drivers/gpu/drm/etnaviv/etnaviv_mmu.c etnaviv_obj->sgt, etnaviv_obj->base.size); etnaviv_obj 231 drivers/gpu/drm/etnaviv/etnaviv_mmu.c struct etnaviv_gem_object *etnaviv_obj, u32 memory_base, etnaviv_obj 234 drivers/gpu/drm/etnaviv/etnaviv_mmu.c struct sg_table *sgt = etnaviv_obj->sgt; etnaviv_obj 238 drivers/gpu/drm/etnaviv/etnaviv_mmu.c lockdep_assert_held(&etnaviv_obj->lock); etnaviv_obj 244 drivers/gpu/drm/etnaviv/etnaviv_mmu.c sgt->nents == 1 && !(etnaviv_obj->flags & ETNA_BO_FORCE_MMU)) { etnaviv_obj 260 drivers/gpu/drm/etnaviv/etnaviv_mmu.c etnaviv_obj->base.size, va); etnaviv_obj 263 drivers/gpu/drm/etnaviv/etnaviv_mmu.c etnaviv_obj->base.size); etnaviv_obj 268 drivers/gpu/drm/etnaviv/etnaviv_mmu.c ret = etnaviv_iommu_map(context, node->start, sgt, etnaviv_obj->base.size, etnaviv_obj 90 drivers/gpu/drm/etnaviv/etnaviv_mmu.h struct etnaviv_gem_object *etnaviv_obj, u32 memory_base,