Lines Matching defs:obj
161 struct etnaviv_gem_object *obj;
170 obj = to_etnaviv_bo(vma->vm_private_data);
171 return obj->ops->mmap(obj, vma);
177 struct drm_gem_object *obj = vma->vm_private_data;
178 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
211 int etnaviv_gem_mmap_offset(struct drm_gem_object *obj, u64 *offset)
216 ret = drm_gem_create_mmap_offset(obj);
218 dev_err(obj->dev->dev, "could not allocate mmap offset\n");
220 *offset = drm_vma_node_offset_addr(&obj->vma_node);
226 etnaviv_gem_get_vram_mapping(struct etnaviv_gem_object *obj,
231 list_for_each_entry(mapping, &obj->vram_list, obj_node) {
252 struct drm_gem_object *obj, struct etnaviv_iommu_context *mmu_context,
255 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
328 drm_gem_object_get(obj);
332 void *etnaviv_gem_vmap(struct drm_gem_object *obj)
334 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
351 static void *etnaviv_gem_vmap_impl(struct etnaviv_gem_object *obj)
355 lockdep_assert_held(&obj->lock);
357 pages = etnaviv_gem_get_pages(obj);
361 return vmap(pages, obj->base.size >> PAGE_SHIFT,
375 int etnaviv_gem_cpu_prep(struct drm_gem_object *obj, u32 op,
378 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
379 struct drm_device *dev = obj->dev;
394 if (!dma_resv_test_signaled_rcu(obj->resv,
400 ret = dma_resv_wait_timeout_rcu(obj->resv,
415 int etnaviv_gem_cpu_fini(struct drm_gem_object *obj)
417 struct drm_device *dev = obj->dev;
418 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
431 int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
434 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
451 static void etnaviv_gem_describe(struct drm_gem_object *obj, struct seq_file *m)
453 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
454 struct dma_resv *robj = obj->resv;
457 unsigned long off = drm_vma_node_start(&obj->vma_node);
461 obj->name, kref_read(&obj->refcount),
462 off, etnaviv_obj->vaddr, obj->size);
490 struct drm_gem_object *obj = &etnaviv_obj->base;
493 etnaviv_gem_describe(obj, m);
495 size += obj->size;
516 void etnaviv_gem_free_object(struct drm_gem_object *obj)
518 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
519 struct etnaviv_drm_private *priv = obj->dev->dev_private;
544 drm_gem_free_mmap_offset(obj);
546 drm_gem_object_release(obj);
551 void etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj)
554 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
562 const struct etnaviv_gem_ops *ops, struct drm_gem_object **obj)
594 *obj = &etnaviv_obj->base;
604 struct drm_gem_object *obj = NULL;
610 &etnaviv_gem_shmem_ops, &obj);
614 lockdep_set_class(&to_etnaviv_bo(obj)->lock, &etnaviv_shm_lock_class);
616 ret = drm_gem_object_init(dev, obj, size);
626 mapping_set_gfp_mask(obj->filp->f_mapping, priv->shm_gfp_mask);
628 etnaviv_gem_obj_add(dev, obj);
630 ret = drm_gem_handle_create(file, obj, handle);
634 drm_gem_object_put(obj);
642 struct drm_gem_object *obj;
645 ret = etnaviv_gem_new_impl(dev, size, flags, ops, &obj);
649 drm_gem_private_object_init(dev, obj, size);
651 *res = to_etnaviv_bo(obj);