Lines Matching refs:vbuf

92 	struct virtio_gpu_vbuffer *vbuf;  in virtio_gpu_get_vbuf()  local
94 vbuf = kmem_cache_zalloc(vgdev->vbufs, GFP_KERNEL | __GFP_NOFAIL); in virtio_gpu_get_vbuf()
98 vbuf->buf = (void *)vbuf + sizeof(*vbuf); in virtio_gpu_get_vbuf()
99 vbuf->size = size; in virtio_gpu_get_vbuf()
101 vbuf->resp_cb = resp_cb; in virtio_gpu_get_vbuf()
102 vbuf->resp_size = resp_size; in virtio_gpu_get_vbuf()
104 vbuf->resp_buf = (void *)vbuf->buf + size; in virtio_gpu_get_vbuf()
106 vbuf->resp_buf = resp_buf; in virtio_gpu_get_vbuf()
107 BUG_ON(!vbuf->resp_buf); in virtio_gpu_get_vbuf()
108 return vbuf; in virtio_gpu_get_vbuf()
112 virtio_gpu_vbuf_ctrl_hdr(struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_vbuf_ctrl_hdr() argument
118 return (struct virtio_gpu_ctrl_hdr *)vbuf->buf; in virtio_gpu_vbuf_ctrl_hdr()
125 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_alloc_cursor() local
127 vbuf = virtio_gpu_get_vbuf in virtio_gpu_alloc_cursor()
130 if (IS_ERR(vbuf)) { in virtio_gpu_alloc_cursor()
132 return ERR_CAST(vbuf); in virtio_gpu_alloc_cursor()
134 *vbuffer_p = vbuf; in virtio_gpu_alloc_cursor()
135 return (struct virtio_gpu_update_cursor *)vbuf->buf; in virtio_gpu_alloc_cursor()
144 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_alloc_cmd_resp() local
146 vbuf = virtio_gpu_get_vbuf(vgdev, cmd_size, in virtio_gpu_alloc_cmd_resp()
148 *vbuffer_p = vbuf; in virtio_gpu_alloc_cmd_resp()
149 return (struct virtio_gpu_command *)vbuf->buf; in virtio_gpu_alloc_cmd_resp()
172 struct virtio_gpu_vbuffer *vbuf) in free_vbuf() argument
174 if (vbuf->resp_size > MAX_INLINE_RESP_SIZE) in free_vbuf()
175 kfree(vbuf->resp_buf); in free_vbuf()
176 kvfree(vbuf->data_buf); in free_vbuf()
177 kmem_cache_free(vgdev->vbufs, vbuf); in free_vbuf()
182 struct virtio_gpu_vbuffer *vbuf; in reclaim_vbufs() local
186 while ((vbuf = virtqueue_get_buf(vq, &len))) { in reclaim_vbufs()
187 list_add_tail(&vbuf->list, reclaim_list); in reclaim_vbufs()
309 struct virtio_gpu_vbuffer *vbuf, in virtio_gpu_queue_ctrl_sgs() argument
320 if (fence && vbuf->objs) in virtio_gpu_queue_ctrl_sgs()
321 virtio_gpu_array_unlock_resv(vbuf->objs); in virtio_gpu_queue_ctrl_sgs()
322 free_vbuf(vgdev, vbuf); in virtio_gpu_queue_ctrl_sgs()
343 virtio_gpu_fence_emit(vgdev, virtio_gpu_vbuf_ctrl_hdr(vbuf), in virtio_gpu_queue_ctrl_sgs()
345 if (vbuf->objs) { in virtio_gpu_queue_ctrl_sgs()
346 virtio_gpu_array_add_fence(vbuf->objs, &fence->f); in virtio_gpu_queue_ctrl_sgs()
347 virtio_gpu_array_unlock_resv(vbuf->objs); in virtio_gpu_queue_ctrl_sgs()
351 ret = virtqueue_add_sgs(vq, sgs, outcnt, incnt, vbuf, GFP_ATOMIC); in virtio_gpu_queue_ctrl_sgs()
354 trace_virtio_gpu_cmd_queue(vq, virtio_gpu_vbuf_ctrl_hdr(vbuf)); in virtio_gpu_queue_ctrl_sgs()
365 struct virtio_gpu_vbuffer *vbuf, in virtio_gpu_queue_fenced_ctrl_buffer() argument
373 sg_init_one(&vcmd, vbuf->buf, vbuf->size); in virtio_gpu_queue_fenced_ctrl_buffer()
379 if (vbuf->data_size) { in virtio_gpu_queue_fenced_ctrl_buffer()
380 if (is_vmalloc_addr(vbuf->data_buf)) { in virtio_gpu_queue_fenced_ctrl_buffer()
382 sgt = vmalloc_to_sgt(vbuf->data_buf, vbuf->data_size, in virtio_gpu_queue_fenced_ctrl_buffer()
385 if (fence && vbuf->objs) in virtio_gpu_queue_fenced_ctrl_buffer()
386 virtio_gpu_array_unlock_resv(vbuf->objs); in virtio_gpu_queue_fenced_ctrl_buffer()
393 sg_init_one(&vout, vbuf->data_buf, vbuf->data_size); in virtio_gpu_queue_fenced_ctrl_buffer()
401 if (vbuf->resp_size) { in virtio_gpu_queue_fenced_ctrl_buffer()
402 sg_init_one(&vresp, vbuf->resp_buf, vbuf->resp_size); in virtio_gpu_queue_fenced_ctrl_buffer()
408 ret = virtio_gpu_queue_ctrl_sgs(vgdev, vbuf, fence, elemcnt, sgs, outcnt, in virtio_gpu_queue_fenced_ctrl_buffer()
435 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_queue_ctrl_buffer() argument
437 return virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, NULL); in virtio_gpu_queue_ctrl_buffer()
441 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_queue_cursor() argument
449 free_vbuf(vgdev, vbuf); in virtio_gpu_queue_cursor()
453 sg_init_one(&ccmd, vbuf->buf, vbuf->size); in virtio_gpu_queue_cursor()
459 ret = virtqueue_add_sgs(vq, sgs, outcnt, 0, vbuf, GFP_ATOMIC); in virtio_gpu_queue_cursor()
467 virtio_gpu_vbuf_ctrl_hdr(vbuf)); in virtio_gpu_queue_cursor()
492 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_create_resource() local
494 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_create_resource()
496 vbuf->objs = objs; in virtio_gpu_cmd_create_resource()
504 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_create_resource()
509 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_unref_cb() argument
513 bo = vbuf->resp_cb_data; in virtio_gpu_cmd_unref_cb()
514 vbuf->resp_cb_data = NULL; in virtio_gpu_cmd_unref_cb()
523 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_unref_resource() local
526 cmd_p = virtio_gpu_alloc_cmd_cb(vgdev, &vbuf, sizeof(*cmd_p), in virtio_gpu_cmd_unref_resource()
533 vbuf->resp_cb_data = bo; in virtio_gpu_cmd_unref_resource()
534 ret = virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_unref_resource()
545 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_set_scanout() local
547 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_set_scanout()
558 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_set_scanout()
569 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_flush() local
571 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_flush()
573 vbuf->objs = objs; in virtio_gpu_cmd_resource_flush()
582 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_resource_flush()
594 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_to_host_2d() local
602 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_to_host_2d()
604 vbuf->objs = objs; in virtio_gpu_cmd_transfer_to_host_2d()
614 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_transfer_to_host_2d()
625 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_attach_backing() local
627 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_attach_backing()
634 vbuf->data_buf = ents; in virtio_gpu_cmd_resource_attach_backing()
635 vbuf->data_size = sizeof(*ents) * nents; in virtio_gpu_cmd_resource_attach_backing()
637 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_resource_attach_backing()
641 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_display_info_cb() argument
644 (struct virtio_gpu_resp_display_info *)vbuf->resp_buf; in virtio_gpu_cmd_get_display_info_cb()
670 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_capset_info_cb() argument
673 (struct virtio_gpu_get_capset_info *)vbuf->buf; in virtio_gpu_cmd_get_capset_info_cb()
675 (struct virtio_gpu_resp_capset_info *)vbuf->resp_buf; in virtio_gpu_cmd_get_capset_info_cb()
691 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_capset_cb() argument
694 (struct virtio_gpu_get_capset *)vbuf->buf; in virtio_gpu_cmd_capset_cb()
696 (struct virtio_gpu_resp_capset *)vbuf->resp_buf; in virtio_gpu_cmd_capset_cb()
728 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_edid_cb() argument
731 (struct virtio_gpu_cmd_get_edid *)vbuf->buf; in virtio_gpu_cmd_get_edid_cb()
733 (struct virtio_gpu_resp_edid *)vbuf->resp_buf; in virtio_gpu_cmd_get_edid_cb()
757 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_display_info() local
766 (vgdev, &virtio_gpu_cmd_get_display_info_cb, &vbuf, in virtio_gpu_cmd_get_display_info()
773 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_display_info()
780 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_capset_info() local
789 (vgdev, &virtio_gpu_cmd_get_capset_info_cb, &vbuf, in virtio_gpu_cmd_get_capset_info()
796 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_capset_info()
805 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_capset() local
864 (vgdev, &virtio_gpu_cmd_capset_cb, &vbuf, sizeof(*cmd_p), in virtio_gpu_cmd_get_capset()
871 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_capset()
879 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_edids() local
893 (vgdev, &virtio_gpu_cmd_get_edid_cb, &vbuf, in virtio_gpu_cmd_get_edids()
898 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_edids()
909 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_create() local
911 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_create()
920 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_create()
927 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_destroy() local
929 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_destroy()
934 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_destroy()
943 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_attach_resource() local
945 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_attach_resource()
947 vbuf->objs = objs; in virtio_gpu_cmd_context_attach_resource()
952 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_attach_resource()
961 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_detach_resource() local
963 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_detach_resource()
965 vbuf->objs = objs; in virtio_gpu_cmd_context_detach_resource()
970 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_detach_resource()
981 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_create_3d() local
983 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_create_3d()
985 vbuf->objs = objs; in virtio_gpu_cmd_resource_create_3d()
1001 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_resource_create_3d()
1017 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_to_host_3d() local
1026 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_to_host_3d()
1029 vbuf->objs = objs; in virtio_gpu_cmd_transfer_to_host_3d()
1040 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_transfer_to_host_3d()
1054 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_from_host_3d() local
1056 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_from_host_3d()
1059 vbuf->objs = objs; in virtio_gpu_cmd_transfer_from_host_3d()
1070 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_transfer_from_host_3d()
1080 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_submit() local
1082 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_submit()
1085 vbuf->data_buf = data; in virtio_gpu_cmd_submit()
1086 vbuf->data_size = data_size; in virtio_gpu_cmd_submit()
1087 vbuf->objs = objs; in virtio_gpu_cmd_submit()
1093 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); in virtio_gpu_cmd_submit()
1108 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cursor_ping() local
1112 cur_p = virtio_gpu_alloc_cursor(vgdev, &vbuf); in virtio_gpu_cursor_ping()
1114 virtio_gpu_queue_cursor(vgdev, vbuf); in virtio_gpu_cursor_ping()
1118 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_resource_uuid_cb() argument
1121 gem_to_virtio_gpu_obj(vbuf->objs->objs[0]); in virtio_gpu_cmd_resource_uuid_cb()
1123 (struct virtio_gpu_resp_resource_uuid *)vbuf->resp_buf; in virtio_gpu_cmd_resource_uuid_cb()
1147 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_assign_uuid() local
1160 (vgdev, virtio_gpu_cmd_resource_uuid_cb, &vbuf, sizeof(*cmd_p), in virtio_gpu_cmd_resource_assign_uuid()
1167 vbuf->objs = objs; in virtio_gpu_cmd_resource_assign_uuid()
1168 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_resource_assign_uuid()
1173 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_resource_map_cb() argument
1176 gem_to_virtio_gpu_obj(vbuf->objs->objs[0]); in virtio_gpu_cmd_resource_map_cb()
1178 (struct virtio_gpu_resp_map_info *)vbuf->resp_buf; in virtio_gpu_cmd_resource_map_cb()
1200 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_map() local
1208 (vgdev, virtio_gpu_cmd_resource_map_cb, &vbuf, sizeof(*cmd_p), in virtio_gpu_cmd_map()
1215 vbuf->objs = objs; in virtio_gpu_cmd_map()
1217 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_map()
1225 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_unmap() local
1227 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_unmap()
1233 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_unmap()
1244 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_create_blob() local
1246 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_create_blob()
1258 vbuf->data_buf = ents; in virtio_gpu_cmd_resource_create_blob()
1259 vbuf->data_size = sizeof(*ents) * nents; in virtio_gpu_cmd_resource_create_blob()
1261 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_resource_create_blob()
1274 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_set_scanout_blob() local
1277 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_set_scanout_blob()
1298 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_set_scanout_blob()