Lines Matching defs:obj
247 struct drm_gem_object *obj = exp_info->priv;
255 drm_gem_object_get(obj);
256 dma_buf->file->f_mapping = obj->dev->anon_inode->i_mapping;
273 struct drm_gem_object *obj = dma_buf->priv;
274 struct drm_device *dev = obj->dev;
277 drm_gem_object_put(obj);
302 struct drm_gem_object *obj;
319 obj = dev->driver->gem_prime_import(dev, dma_buf);
321 obj = drm_gem_prime_import(dev, dma_buf);
322 if (IS_ERR(obj)) {
323 ret = PTR_ERR(obj);
327 if (obj->dma_buf) {
328 WARN_ON(obj->dma_buf != dma_buf);
330 obj->dma_buf = dma_buf;
335 ret = drm_gem_handle_create_tail(file_priv, obj, handle);
336 drm_gem_object_put(obj);
380 struct drm_gem_object *obj,
386 if (obj->handle_count == 0) {
391 if (obj->funcs && obj->funcs->export)
392 dmabuf = obj->funcs->export(obj, flags);
394 dmabuf = dev->driver->gem_prime_export(obj, flags);
396 dmabuf = drm_gem_prime_export(obj, flags);
406 * since the check for obj->handle_count guarantees that someone
409 obj->dma_buf = dmabuf;
410 get_dma_buf(obj->dma_buf);
433 struct drm_gem_object *obj;
438 obj = drm_gem_object_lookup(file_priv, handle);
439 if (!obj) {
452 if (obj->import_attach) {
453 dmabuf = obj->import_attach->dmabuf;
458 if (obj->dma_buf) {
459 get_dma_buf(obj->dma_buf);
460 dmabuf = obj->dma_buf;
464 dmabuf = export_and_register_object(dev, obj, flags);
491 * created dma buf is already linked in the global obj->dma_buf pointer,
507 drm_gem_object_put(obj);
583 struct drm_gem_object *obj = dma_buf->priv;
585 return drm_gem_pin(obj);
601 struct drm_gem_object *obj = dma_buf->priv;
603 drm_gem_unpin(obj);
622 struct drm_gem_object *obj = attach->dmabuf->priv;
629 if (obj->funcs)
630 sgt = obj->funcs->get_sg_table(obj);
632 sgt = obj->dev->driver->gem_prime_get_sg_table(obj);
678 struct drm_gem_object *obj = dma_buf->priv;
681 vaddr = drm_gem_vmap(obj);
699 struct drm_gem_object *obj = dma_buf->priv;
701 drm_gem_vunmap(obj, vaddr);
707 * @obj: GEM object
717 int drm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
724 vma->vm_pgoff += drm_vma_node_start(&obj->vma_node);
726 if (obj->funcs && obj->funcs->mmap) {
727 ret = obj->funcs->mmap(obj, vma);
730 vma->vm_private_data = obj;
731 drm_gem_object_get(obj);
743 priv->minor = obj->dev->primary;
746 ret = drm_vma_node_allow(&obj->vma_node, priv);
750 ret = obj->dev->driver->fops->mmap(fil, vma);
752 drm_vma_node_revoke(&obj->vma_node, priv);
777 struct drm_gem_object *obj = dma_buf->priv;
778 struct drm_device *dev = obj->dev;
783 return dev->driver->gem_prime_mmap(obj, vma);
871 * @obj: GEM object to export
878 struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj,
881 struct drm_device *dev = obj->dev;
886 .size = obj->size,
888 .priv = obj,
889 .resv = obj->resv,
916 struct drm_gem_object *obj;
920 obj = dma_buf->priv;
921 if (obj->dev == dev) {
926 drm_gem_object_get(obj);
927 return obj;
946 obj = dev->driver->gem_prime_import_sg_table(dev, attach, sgt);
947 if (IS_ERR(obj)) {
948 ret = PTR_ERR(obj);
952 obj->import_attach = attach;
953 obj->resv = dma_buf->resv;
955 return obj;
1029 * @obj: GEM object which was created from a dma-buf
1035 void drm_prime_gem_destroy(struct drm_gem_object *obj, struct sg_table *sg)
1040 attach = obj->import_attach;