Lines Matching refs:dmabuf_obj
91 struct intel_vgpu_dmabuf_obj *dmabuf_obj; in dmabuf_gem_object_free() local
95 dmabuf_obj = container_of(pos, in dmabuf_gem_object_free()
97 if (dmabuf_obj == obj) { in dmabuf_gem_object_free()
100 dmabuf_obj->dmabuf_id); in dmabuf_gem_object_free()
101 kfree(dmabuf_obj->info); in dmabuf_gem_object_free()
102 kfree(dmabuf_obj); in dmabuf_gem_object_free()
305 struct intel_vgpu_dmabuf_obj *dmabuf_obj = NULL; in pick_dmabuf_by_info() local
309 dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, in pick_dmabuf_by_info()
311 if ((dmabuf_obj == NULL) || in pick_dmabuf_by_info()
312 (dmabuf_obj->info == NULL)) in pick_dmabuf_by_info()
315 fb_info = (struct intel_vgpu_fb_info *)dmabuf_obj->info; in pick_dmabuf_by_info()
323 ret = dmabuf_obj; in pick_dmabuf_by_info()
335 struct intel_vgpu_dmabuf_obj *dmabuf_obj = NULL; in pick_dmabuf_by_num() local
339 dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, in pick_dmabuf_by_num()
341 if (!dmabuf_obj) in pick_dmabuf_by_num()
344 if (dmabuf_obj->dmabuf_id == id) { in pick_dmabuf_by_num()
345 ret = dmabuf_obj; in pick_dmabuf_by_num()
372 struct intel_vgpu_dmabuf_obj *dmabuf_obj; in intel_vgpu_query_plane() local
390 dmabuf_obj = pick_dmabuf_by_info(vgpu, &fb_info); in intel_vgpu_query_plane()
391 if (dmabuf_obj) { in intel_vgpu_query_plane()
393 gfx_plane_info->dmabuf_id = dmabuf_obj->dmabuf_id; in intel_vgpu_query_plane()
399 if (!dmabuf_obj->initref) { in intel_vgpu_query_plane()
400 dmabuf_obj->initref = true; in intel_vgpu_query_plane()
401 dmabuf_obj_get(dmabuf_obj); in intel_vgpu_query_plane()
405 vgpu->id, kref_read(&dmabuf_obj->kref), in intel_vgpu_query_plane()
414 dmabuf_obj = kmalloc(sizeof(struct intel_vgpu_dmabuf_obj), GFP_KERNEL); in intel_vgpu_query_plane()
415 if (unlikely(!dmabuf_obj)) { in intel_vgpu_query_plane()
421 dmabuf_obj->info = kmalloc(sizeof(struct intel_vgpu_fb_info), in intel_vgpu_query_plane()
423 if (unlikely(!dmabuf_obj->info)) { in intel_vgpu_query_plane()
428 memcpy(dmabuf_obj->info, &fb_info, sizeof(struct intel_vgpu_fb_info)); in intel_vgpu_query_plane()
430 ((struct intel_vgpu_fb_info *)dmabuf_obj->info)->obj = dmabuf_obj; in intel_vgpu_query_plane()
432 dmabuf_obj->vgpu = vgpu; in intel_vgpu_query_plane()
434 ret = idr_alloc(&vgpu->object_idr, dmabuf_obj, 1, 0, GFP_NOWAIT); in intel_vgpu_query_plane()
438 dmabuf_obj->dmabuf_id = ret; in intel_vgpu_query_plane()
440 dmabuf_obj->initref = true; in intel_vgpu_query_plane()
442 kref_init(&dmabuf_obj->kref); in intel_vgpu_query_plane()
454 INIT_LIST_HEAD(&dmabuf_obj->list); in intel_vgpu_query_plane()
456 list_add_tail(&dmabuf_obj->list, &vgpu->dmabuf_obj_list_head); in intel_vgpu_query_plane()
460 __func__, kref_read(&dmabuf_obj->kref), ret); in intel_vgpu_query_plane()
465 kfree(dmabuf_obj->info); in intel_vgpu_query_plane()
467 kfree(dmabuf_obj); in intel_vgpu_query_plane()
477 struct intel_vgpu_dmabuf_obj *dmabuf_obj; in intel_vgpu_get_dmabuf() local
485 dmabuf_obj = pick_dmabuf_by_num(vgpu, dmabuf_id); in intel_vgpu_get_dmabuf()
486 if (dmabuf_obj == NULL) { in intel_vgpu_get_dmabuf()
492 obj = vgpu_create_gem(dev, dmabuf_obj->info); in intel_vgpu_get_dmabuf()
499 obj->gvt_info = dmabuf_obj->info; in intel_vgpu_get_dmabuf()
517 dmabuf_obj_get(dmabuf_obj); in intel_vgpu_get_dmabuf()
519 if (dmabuf_obj->initref) { in intel_vgpu_get_dmabuf()
520 dmabuf_obj->initref = false; in intel_vgpu_get_dmabuf()
521 dmabuf_obj_put(dmabuf_obj); in intel_vgpu_get_dmabuf()
528 vgpu->id, dmabuf_obj->dmabuf_id, in intel_vgpu_get_dmabuf()
529 kref_read(&dmabuf_obj->kref), in intel_vgpu_get_dmabuf()
548 struct intel_vgpu_dmabuf_obj *dmabuf_obj; in intel_vgpu_dmabuf_cleanup() local
552 dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, in intel_vgpu_dmabuf_cleanup()
554 dmabuf_obj->vgpu = NULL; in intel_vgpu_dmabuf_cleanup()
556 idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id); in intel_vgpu_dmabuf_cleanup()
561 if (dmabuf_obj->initref) { in intel_vgpu_dmabuf_cleanup()
562 dmabuf_obj->initref = false; in intel_vgpu_dmabuf_cleanup()
563 dmabuf_obj_put(dmabuf_obj); in intel_vgpu_dmabuf_cleanup()