Lines Matching refs:bo

36 	struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);  in virtgpu_virtio_get_uuid()  local
39 wait_event(vgdev->resp_wq, bo->uuid_state != STATE_INITIALIZING); in virtgpu_virtio_get_uuid()
40 if (bo->uuid_state != STATE_OK) in virtgpu_virtio_get_uuid()
43 uuid_copy(uuid, &bo->uuid); in virtgpu_virtio_get_uuid()
53 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_map_dma_buf() local
55 if (virtio_gpu_is_vram(bo)) in virtgpu_gem_map_dma_buf()
56 return virtio_gpu_vram_map_dma_buf(bo, attach->dev, dir); in virtgpu_gem_map_dma_buf()
66 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_unmap_dma_buf() local
68 if (virtio_gpu_is_vram(bo)) { in virtgpu_gem_unmap_dma_buf()
93 struct virtio_gpu_object *bo) in virtio_gpu_resource_assign_uuid() argument
101 virtio_gpu_array_add_obj(objs, &bo->base.base); in virtio_gpu_resource_assign_uuid()
112 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_prime_export() local
114 bool blob = bo->host3d_blob || bo->guest_blob; in virtgpu_gem_prime_export()
119 ret = virtio_gpu_resource_assign_uuid(vgdev, bo); in virtgpu_gem_prime_export()
125 bo->uuid_state = STATE_ERR; in virtgpu_gem_prime_export()
127 } else if (!(bo->blob_flags & VIRTGPU_BLOB_FLAG_USE_CROSS_DEVICE)) { in virtgpu_gem_prime_export()
128 bo->uuid_state = STATE_ERR; in virtgpu_gem_prime_export()
149 struct virtio_gpu_object *bo, in virtgpu_dma_buf_import_sgt() argument
183 bo->sgt = sgt; in virtgpu_dma_buf_import_sgt()
187 static void virtgpu_dma_buf_unmap(struct virtio_gpu_object *bo) in virtgpu_dma_buf_unmap() argument
189 struct dma_buf_attachment *attach = bo->base.base.import_attach; in virtgpu_dma_buf_unmap()
193 if (bo->created) { in virtgpu_dma_buf_unmap()
194 virtio_gpu_detach_object_fenced(bo); in virtgpu_dma_buf_unmap()
196 if (bo->sgt) in virtgpu_dma_buf_unmap()
197 dma_buf_unmap_attachment(attach, bo->sgt, in virtgpu_dma_buf_unmap()
200 bo->sgt = NULL; in virtgpu_dma_buf_unmap()
206 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_dma_buf_free_obj() local
214 virtgpu_dma_buf_unmap(bo); in virtgpu_dma_buf_free_obj()
221 if (bo->created) { in virtgpu_dma_buf_free_obj()
222 virtio_gpu_cmd_unref_resource(vgdev, bo); in virtgpu_dma_buf_free_obj()
226 virtio_gpu_cleanup_object(bo); in virtgpu_dma_buf_free_obj()
230 struct virtio_gpu_object *bo, in virtgpu_dma_buf_init_obj() argument
240 ret = virtio_gpu_resource_id_get(vgdev, &bo->hw_res_handle); in virtgpu_dma_buf_init_obj()
242 virtgpu_dma_buf_free_obj(&bo->base.base); in virtgpu_dma_buf_init_obj()
252 ret = virtgpu_dma_buf_import_sgt(&ents, &nents, bo, attach); in virtgpu_dma_buf_init_obj()
261 virtio_gpu_cmd_resource_create_blob(vgdev, bo, &params, in virtgpu_dma_buf_init_obj()
263 bo->guest_blob = true; in virtgpu_dma_buf_init_obj()
274 virtgpu_dma_buf_free_obj(&bo->base.base); in virtgpu_dma_buf_init_obj()
285 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_dma_buf_move_notify() local
287 virtgpu_dma_buf_unmap(bo); in virtgpu_dma_buf_move_notify()
300 struct virtio_gpu_object *bo; in virtgpu_gem_prime_import() local
319 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in virtgpu_gem_prime_import()
320 if (!bo) in virtgpu_gem_prime_import()
323 obj = &bo->base.base; in virtgpu_gem_prime_import()
331 kfree(bo); in virtgpu_gem_prime_import()
338 ret = virtgpu_dma_buf_init_obj(dev, bo, attach); in virtgpu_gem_prime_import()