Lines Matching defs:obj

155 static int etnaviv_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
157 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
165 struct drm_gem_object *obj = vma->vm_private_data;
166 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
200 int etnaviv_gem_mmap_offset(struct drm_gem_object *obj, u64 *offset)
205 ret = drm_gem_create_mmap_offset(obj);
207 dev_err(obj->dev->dev, "could not allocate mmap offset\n");
209 *offset = drm_vma_node_offset_addr(&obj->vma_node);
215 etnaviv_gem_get_vram_mapping(struct etnaviv_gem_object *obj,
220 list_for_each_entry(mapping, &obj->vram_list, obj_node) {
241 struct drm_gem_object *obj, struct etnaviv_iommu_context *mmu_context,
244 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
319 drm_gem_object_get(obj);
323 void *etnaviv_gem_vmap(struct drm_gem_object *obj)
325 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
342 static void *etnaviv_gem_vmap_impl(struct etnaviv_gem_object *obj)
346 lockdep_assert_held(&obj->lock);
348 pages = etnaviv_gem_get_pages(obj);
352 return vmap(pages, obj->base.size >> PAGE_SHIFT,
366 int etnaviv_gem_cpu_prep(struct drm_gem_object *obj, u32 op,
369 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
370 struct drm_device *dev = obj->dev;
385 if (!dma_resv_test_signaled(obj->resv,
391 ret = dma_resv_wait_timeout(obj->resv, dma_resv_usage_rw(write),
406 int etnaviv_gem_cpu_fini(struct drm_gem_object *obj)
408 struct drm_device *dev = obj->dev;
409 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
422 int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
425 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
431 static void etnaviv_gem_describe(struct drm_gem_object *obj, struct seq_file *m)
433 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
434 struct dma_resv *robj = obj->resv;
435 unsigned long off = drm_vma_node_start(&obj->vma_node);
440 obj->name, kref_read(&obj->refcount),
441 off, etnaviv_obj->vaddr, obj->size);
460 struct drm_gem_object *obj = &etnaviv_obj->base;
463 etnaviv_gem_describe(obj, m);
465 size += obj->size;
486 void etnaviv_gem_free_object(struct drm_gem_object *obj)
488 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
489 struct etnaviv_drm_private *priv = obj->dev->dev_private;
513 drm_gem_object_release(obj);
518 void etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj)
521 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
545 const struct etnaviv_gem_ops *ops, struct drm_gem_object **obj)
577 *obj = &etnaviv_obj->base;
578 (*obj)->funcs = &etnaviv_gem_object_funcs;
588 struct drm_gem_object *obj = NULL;
593 ret = etnaviv_gem_new_impl(dev, flags, &etnaviv_gem_shmem_ops, &obj);
597 lockdep_set_class(&to_etnaviv_bo(obj)->lock, &etnaviv_shm_lock_class);
599 ret = drm_gem_object_init(dev, obj, size);
609 mapping_set_gfp_mask(obj->filp->f_mapping, priv->shm_gfp_mask);
611 etnaviv_gem_obj_add(dev, obj);
613 ret = drm_gem_handle_create(file, obj, handle);
617 drm_gem_object_put(obj);
625 struct drm_gem_object *obj;
628 ret = etnaviv_gem_new_impl(dev, flags, ops, &obj);
632 drm_gem_private_object_init(dev, obj, size);
634 *res = to_etnaviv_bo(obj);