Lines Matching defs:obj

13 	struct vkms_gem_object *obj;
16 obj = kzalloc(sizeof(*obj), GFP_KERNEL);
17 if (!obj)
21 ret = drm_gem_object_init(dev, &obj->gem, size);
23 kfree(obj);
27 mutex_init(&obj->pages_lock);
29 return obj;
32 void vkms_gem_free_object(struct drm_gem_object *obj)
34 struct vkms_gem_object *gem = container_of(obj, struct vkms_gem_object,
41 drm_gem_object_release(obj);
48 struct vkms_gem_object *obj = vma->vm_private_data;
55 num_pages = DIV_ROUND_UP(obj->gem.size, PAGE_SIZE);
60 mutex_lock(&obj->pages_lock);
61 if (obj->pages) {
62 get_page(obj->pages[page_offset]);
63 vmf->page = obj->pages[page_offset];
66 mutex_unlock(&obj->pages_lock);
71 mapping = file_inode(obj->gem.filp)->i_mapping;
105 struct vkms_gem_object *obj;
111 obj = __vkms_gem_create(dev, size);
112 if (IS_ERR(obj))
113 return ERR_CAST(obj);
115 ret = drm_gem_handle_create(file, &obj->gem, handle);
119 return &obj->gem;
168 void vkms_gem_vunmap(struct drm_gem_object *obj)
170 struct vkms_gem_object *vkms_obj = drm_gem_to_vkms_gem(obj);
185 drm_gem_put_pages(obj, vkms_obj->pages, false, true);
192 int vkms_gem_vmap(struct drm_gem_object *obj)
194 struct vkms_gem_object *vkms_obj = drm_gem_to_vkms_gem(obj);
200 unsigned int n_pages = obj->size >> PAGE_SHIFT;
218 drm_gem_put_pages(obj, vkms_obj->pages, false, true);
230 struct vkms_gem_object *obj;
233 obj = __vkms_gem_create(dev, attach->dmabuf->size);
234 if (IS_ERR(obj))
235 return ERR_CAST(obj);
240 obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL);
241 if (!obj->pages) {
242 vkms_gem_free_object(&obj->gem);
246 drm_prime_sg_to_page_addr_arrays(sg, obj->pages, NULL, npages);
247 return &obj->gem;