Lines Matching defs:obj

23 	struct armada_gem_object *obj = drm_to_armada_gem(gobj);
24 unsigned long pfn = obj->phys_addr >> PAGE_SHIFT;
41 void armada_gem_free_object(struct drm_gem_object *obj)
43 struct armada_gem_object *dobj = drm_to_armada_gem(obj);
44 struct armada_private *priv = drm_to_armada_dev(obj->dev);
46 DRM_DEBUG_DRIVER("release obj %p\n", dobj);
48 drm_gem_free_mmap_offset(&dobj->obj);
54 unsigned int order = get_order(dobj->obj.size);
66 if (dobj->obj.import_attach) {
69 dma_buf_unmap_attachment_unlocked(dobj->obj.import_attach,
71 drm_prime_gem_destroy(&dobj->obj, NULL);
74 drm_gem_object_release(&dobj->obj);
80 armada_gem_linear_back(struct drm_device *dev, struct armada_gem_object *obj)
83 size_t size = obj->obj.size;
85 if (obj->page || obj->linear)
101 obj->addr = page_address(p);
102 obj->phys_addr = page_to_phys(p);
103 obj->page = p;
105 memset(obj->addr, 0, PAGE_ALIGN(size));
133 if (!obj->page) {
152 obj->linear = node;
155 ptr = ioremap_wc(obj->linear->start, size);
158 drm_mm_remove_node(obj->linear);
160 kfree(obj->linear);
161 obj->linear = NULL;
168 obj->phys_addr = obj->linear->start;
169 obj->dev_addr = obj->linear->start;
170 obj->mapped = true;
173 DRM_DEBUG_DRIVER("obj %p phys %#llx dev %#llx\n", obj,
174 (unsigned long long)obj->phys_addr,
175 (unsigned long long)obj->dev_addr);
185 dobj->addr = ioremap_wc(dobj->phys_addr, dobj->obj.size);
198 struct armada_gem_object *obj;
202 obj = kzalloc(sizeof(*obj), GFP_KERNEL);
203 if (!obj)
206 obj->obj.funcs = &armada_gem_object_funcs;
208 drm_gem_private_object_init(dev, &obj->obj, size);
210 DRM_DEBUG_DRIVER("alloc private obj %p size %zu\n", obj, size);
212 return obj;
218 struct armada_gem_object *obj;
223 obj = kzalloc(sizeof(*obj), GFP_KERNEL);
224 if (!obj)
227 obj->obj.funcs = &armada_gem_object_funcs;
229 if (drm_gem_object_init(dev, &obj->obj, size)) {
230 kfree(obj);
234 mapping = obj->obj.filp->f_mapping;
237 DRM_DEBUG_DRIVER("alloc obj %p size %zu\n", obj, size);
239 return obj;
262 ret = drm_gem_handle_create(file, &dobj->obj, &handle);
269 DRM_DEBUG_DRIVER("obj %p size %zu handle %#x\n", dobj, size, handle);
271 drm_gem_object_put(&dobj->obj);
294 ret = drm_gem_handle_create(file, &dobj->obj, &handle);
301 DRM_DEBUG_DRIVER("obj %p size %zu handle %#x\n", dobj, size, handle);
303 drm_gem_object_put(&dobj->obj);
319 if (!dobj->obj.filp) {
320 drm_gem_object_put(&dobj->obj);
324 addr = vm_mmap(dobj->obj.filp, 0, args->size, PROT_READ | PROT_WRITE,
326 drm_gem_object_put(&dobj->obj);
365 if (args->offset > dobj->obj.size ||
366 args->size > dobj->obj.size - args->offset) {
367 DRM_ERROR("invalid size: object size %u\n", dobj->obj.size);
380 drm_gem_object_put(&dobj->obj);
389 struct drm_gem_object *obj = attach->dmabuf->priv;
390 struct armada_gem_object *dobj = drm_to_armada_gem(obj);
399 if (dobj->obj.filp) {
403 count = dobj->obj.size / PAGE_SIZE;
407 mapping = dobj->obj.filp->f_mapping;
426 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0);
435 sg_dma_len(sgt->sgl) = dobj->obj.size;
455 struct drm_gem_object *obj = attach->dmabuf->priv;
456 struct armada_gem_object *dobj = drm_to_armada_gem(obj);
462 if (dobj->obj.filp) {
487 armada_gem_prime_export(struct drm_gem_object *obj, int flags)
492 exp_info.size = obj->size;
494 exp_info.priv = obj;
496 return drm_gem_dmabuf_export(obj->dev, &exp_info);
506 struct drm_gem_object *obj = buf->priv;
507 if (obj->dev == dev) {
512 drm_gem_object_get(obj);
513 return obj;
527 dobj->obj.import_attach = attach;
535 return &dobj->obj;
542 dobj->sgt = dma_buf_map_attachment_unlocked(dobj->obj.import_attach,
554 if (sg_dma_len(dobj->sgt->sgl) < dobj->obj.size) {