Lines Matching refs:vbuf

81 	struct virtio_gpu_vbuffer *vbuf;  in virtio_gpu_get_vbuf()  local
83 vbuf = kmem_cache_zalloc(vgdev->vbufs, GFP_KERNEL); in virtio_gpu_get_vbuf()
84 if (!vbuf) in virtio_gpu_get_vbuf()
88 vbuf->buf = (void *)vbuf + sizeof(*vbuf); in virtio_gpu_get_vbuf()
89 vbuf->size = size; in virtio_gpu_get_vbuf()
91 vbuf->resp_cb = resp_cb; in virtio_gpu_get_vbuf()
92 vbuf->resp_size = resp_size; in virtio_gpu_get_vbuf()
94 vbuf->resp_buf = (void *)vbuf->buf + size; in virtio_gpu_get_vbuf()
96 vbuf->resp_buf = resp_buf; in virtio_gpu_get_vbuf()
97 BUG_ON(!vbuf->resp_buf); in virtio_gpu_get_vbuf()
98 return vbuf; in virtio_gpu_get_vbuf()
105 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_alloc_cmd() local
107 vbuf = virtio_gpu_get_vbuf(vgdev, size, in virtio_gpu_alloc_cmd()
110 if (IS_ERR(vbuf)) { in virtio_gpu_alloc_cmd()
112 return ERR_CAST(vbuf); in virtio_gpu_alloc_cmd()
114 *vbuffer_p = vbuf; in virtio_gpu_alloc_cmd()
115 return vbuf->buf; in virtio_gpu_alloc_cmd()
122 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_alloc_cursor() local
124 vbuf = virtio_gpu_get_vbuf in virtio_gpu_alloc_cursor()
127 if (IS_ERR(vbuf)) { in virtio_gpu_alloc_cursor()
129 return ERR_CAST(vbuf); in virtio_gpu_alloc_cursor()
131 *vbuffer_p = vbuf; in virtio_gpu_alloc_cursor()
132 return (struct virtio_gpu_update_cursor *)vbuf->buf; in virtio_gpu_alloc_cursor()
141 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_alloc_cmd_resp() local
143 vbuf = virtio_gpu_get_vbuf(vgdev, cmd_size, in virtio_gpu_alloc_cmd_resp()
145 if (IS_ERR(vbuf)) { in virtio_gpu_alloc_cmd_resp()
147 return ERR_CAST(vbuf); in virtio_gpu_alloc_cmd_resp()
149 *vbuffer_p = vbuf; in virtio_gpu_alloc_cmd_resp()
150 return (struct virtio_gpu_command *)vbuf->buf; in virtio_gpu_alloc_cmd_resp()
154 struct virtio_gpu_vbuffer *vbuf) in free_vbuf() argument
156 if (vbuf->resp_size > MAX_INLINE_RESP_SIZE) in free_vbuf()
157 kfree(vbuf->resp_buf); in free_vbuf()
158 kfree(vbuf->data_buf); in free_vbuf()
159 kmem_cache_free(vgdev->vbufs, vbuf); in free_vbuf()
164 struct virtio_gpu_vbuffer *vbuf; in reclaim_vbufs() local
168 while ((vbuf = virtqueue_get_buf(vq, &len))) { in reclaim_vbufs()
169 list_add_tail(&vbuf->list, reclaim_list); in reclaim_vbufs()
256 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_queue_ctrl_buffer_locked() argument
268 sg_init_one(&vcmd, vbuf->buf, vbuf->size); in virtio_gpu_queue_ctrl_buffer_locked()
272 if (vbuf->data_size) { in virtio_gpu_queue_ctrl_buffer_locked()
273 sg_init_one(&vout, vbuf->data_buf, vbuf->data_size); in virtio_gpu_queue_ctrl_buffer_locked()
278 if (vbuf->resp_size) { in virtio_gpu_queue_ctrl_buffer_locked()
279 sg_init_one(&vresp, vbuf->resp_buf, vbuf->resp_size); in virtio_gpu_queue_ctrl_buffer_locked()
285 ret = virtqueue_add_sgs(vq, sgs, outcnt, incnt, vbuf, GFP_ATOMIC); in virtio_gpu_queue_ctrl_buffer_locked()
293 (struct virtio_gpu_ctrl_hdr *)vbuf->buf); in virtio_gpu_queue_ctrl_buffer_locked()
304 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_queue_ctrl_buffer() argument
309 rc = virtio_gpu_queue_ctrl_buffer_locked(vgdev, vbuf); in virtio_gpu_queue_ctrl_buffer()
315 struct virtio_gpu_vbuffer *vbuf, in virtio_gpu_queue_fenced_ctrl_buffer() argument
341 rc = virtio_gpu_queue_ctrl_buffer_locked(vgdev, vbuf); in virtio_gpu_queue_fenced_ctrl_buffer()
347 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_queue_cursor() argument
357 sg_init_one(&ccmd, vbuf->buf, vbuf->size); in virtio_gpu_queue_cursor()
363 ret = virtqueue_add_sgs(vq, sgs, outcnt, 0, vbuf, GFP_ATOMIC); in virtio_gpu_queue_cursor()
371 (struct virtio_gpu_ctrl_hdr *)vbuf->buf); in virtio_gpu_queue_cursor()
394 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_create_resource() local
396 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_create_resource()
405 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_create_resource()
413 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_unref_resource() local
415 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_unref_resource()
421 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_unref_resource()
429 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_inval_backing() local
431 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_inval_backing()
437 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_resource_inval_backing()
446 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_set_scanout() local
448 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_set_scanout()
459 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_set_scanout()
468 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_flush() local
470 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_flush()
480 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_resource_flush()
491 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_to_host_2d() local
499 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_to_host_2d()
510 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_transfer_to_host_2d()
521 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_attach_backing() local
523 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_attach_backing()
530 vbuf->data_buf = ents; in virtio_gpu_cmd_resource_attach_backing()
531 vbuf->data_size = sizeof(*ents) * nents; in virtio_gpu_cmd_resource_attach_backing()
533 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_resource_attach_backing()
537 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_display_info_cb() argument
540 (struct virtio_gpu_resp_display_info *)vbuf->resp_buf; in virtio_gpu_cmd_get_display_info_cb()
566 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_capset_info_cb() argument
569 (struct virtio_gpu_get_capset_info *)vbuf->buf; in virtio_gpu_cmd_get_capset_info_cb()
571 (struct virtio_gpu_resp_capset_info *)vbuf->resp_buf; in virtio_gpu_cmd_get_capset_info_cb()
583 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_capset_cb() argument
586 (struct virtio_gpu_get_capset *)vbuf->buf; in virtio_gpu_cmd_capset_cb()
588 (struct virtio_gpu_resp_capset *)vbuf->resp_buf; in virtio_gpu_cmd_capset_cb()
620 struct virtio_gpu_vbuffer *vbuf) in virtio_gpu_cmd_get_edid_cb() argument
623 (struct virtio_gpu_cmd_get_edid *)vbuf->buf; in virtio_gpu_cmd_get_edid_cb()
625 (struct virtio_gpu_resp_edid *)vbuf->resp_buf; in virtio_gpu_cmd_get_edid_cb()
649 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_display_info() local
658 (vgdev, &virtio_gpu_cmd_get_display_info_cb, &vbuf, in virtio_gpu_cmd_get_display_info()
665 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_display_info()
672 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_capset_info() local
681 (vgdev, &virtio_gpu_cmd_get_capset_info_cb, &vbuf, in virtio_gpu_cmd_get_capset_info()
688 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_capset_info()
697 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_capset() local
756 (vgdev, &virtio_gpu_cmd_capset_cb, &vbuf, sizeof(*cmd_p), in virtio_gpu_cmd_get_capset()
763 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_capset()
771 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_get_edids() local
785 (vgdev, &virtio_gpu_cmd_get_edid_cb, &vbuf, in virtio_gpu_cmd_get_edids()
790 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_get_edids()
800 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_create() local
802 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_create()
810 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_create()
817 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_destroy() local
819 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_destroy()
824 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_destroy()
832 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_attach_resource() local
834 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_attach_resource()
840 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_attach_resource()
849 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_context_detach_resource() local
851 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_context_detach_resource()
857 virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); in virtio_gpu_cmd_context_detach_resource()
867 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_resource_create_3d() local
869 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_resource_create_3d()
886 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_resource_create_3d()
898 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_to_host_3d() local
906 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_to_host_3d()
916 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_transfer_to_host_3d()
926 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_transfer_from_host_3d() local
928 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_transfer_from_host_3d()
938 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_transfer_from_host_3d()
946 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cmd_submit() local
948 cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); in virtio_gpu_cmd_submit()
951 vbuf->data_buf = data; in virtio_gpu_cmd_submit()
952 vbuf->data_size = data_size; in virtio_gpu_cmd_submit()
958 virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); in virtio_gpu_cmd_submit()
1037 struct virtio_gpu_vbuffer *vbuf; in virtio_gpu_cursor_ping() local
1041 cur_p = virtio_gpu_alloc_cursor(vgdev, &vbuf); in virtio_gpu_cursor_ping()
1043 virtio_gpu_queue_cursor(vgdev, vbuf); in virtio_gpu_cursor_ping()