Lines Matching refs:bo

65 void virtio_gpu_cleanup_object(struct virtio_gpu_object *bo)  in virtio_gpu_cleanup_object()  argument
67 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_cleanup_object()
69 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object()
70 if (virtio_gpu_is_shmem(bo)) { in virtio_gpu_cleanup_object()
71 struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo); in virtio_gpu_cleanup_object()
83 drm_gem_shmem_unpin(&bo->base.base); in virtio_gpu_cleanup_object()
86 drm_gem_shmem_free_object(&bo->base.base); in virtio_gpu_cleanup_object()
92 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtio_gpu_free_object() local
93 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_free_object()
95 if (bo->created) { in virtio_gpu_free_object()
96 virtio_gpu_cmd_unref_resource(vgdev, bo); in virtio_gpu_free_object()
101 virtio_gpu_cleanup_object(bo); in virtio_gpu_free_object()
118 bool virtio_gpu_is_shmem(struct virtio_gpu_object *bo) in virtio_gpu_is_shmem() argument
120 return bo->base.base.funcs == &virtio_gpu_shmem_funcs; in virtio_gpu_is_shmem()
140 struct virtio_gpu_object *bo, in virtio_gpu_object_shmem_init() argument
145 struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo); in virtio_gpu_object_shmem_init()
149 ret = drm_gem_shmem_pin(&bo->base.base); in virtio_gpu_object_shmem_init()
159 shmem->pages = drm_gem_shmem_get_sg_table(&bo->base.base); in virtio_gpu_object_shmem_init()
161 drm_gem_shmem_unpin(&bo->base.base); in virtio_gpu_object_shmem_init()
206 struct virtio_gpu_object *bo; in virtio_gpu_object_create() local
217 bo = gem_to_virtio_gpu_obj(&shmem_obj->base); in virtio_gpu_object_create()
219 ret = virtio_gpu_resource_id_get(vgdev, &bo->hw_res_handle); in virtio_gpu_object_create()
223 bo->dumb = params->dumb; in virtio_gpu_object_create()
230 virtio_gpu_array_add_obj(objs, &bo->base.base); in virtio_gpu_object_create()
238 virtio_gpu_cmd_resource_create_3d(vgdev, bo, params, in virtio_gpu_object_create()
241 virtio_gpu_cmd_create_resource(vgdev, bo, params, in virtio_gpu_object_create()
245 ret = virtio_gpu_object_shmem_init(vgdev, bo, &ents, &nents); in virtio_gpu_object_create()
251 virtio_gpu_object_attach(vgdev, bo, ents, nents); in virtio_gpu_object_create()
253 *bo_ptr = bo; in virtio_gpu_object_create()
259 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_object_create()