Lines Matching refs:cmd

161                               struct virtio_gpu_ctrl_command *cmd,  in virtio_gpu_ctrl_response()  argument
167 if (cmd->cmd_hdr.flags & VIRTIO_GPU_FLAG_FENCE) { in virtio_gpu_ctrl_response()
169 resp->fence_id = cmd->cmd_hdr.fence_id; in virtio_gpu_ctrl_response()
170 resp->ctx_id = cmd->cmd_hdr.ctx_id; in virtio_gpu_ctrl_response()
173 s = iov_from_buf(cmd->elem.in_sg, cmd->elem.in_num, 0, resp, resp_len); in virtio_gpu_ctrl_response()
179 virtqueue_push(cmd->vq, &cmd->elem, s); in virtio_gpu_ctrl_response()
180 virtio_notify(VIRTIO_DEVICE(g), cmd->vq); in virtio_gpu_ctrl_response()
181 cmd->finished = true; in virtio_gpu_ctrl_response()
185 struct virtio_gpu_ctrl_command *cmd, in virtio_gpu_ctrl_response_nodata() argument
192 virtio_gpu_ctrl_response(g, cmd, &resp, sizeof(resp)); in virtio_gpu_ctrl_response_nodata()
196 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_get_display_info() argument
204 virtio_gpu_ctrl_response(g, cmd, &display_info.hdr, in virtio_gpu_get_display_info()
209 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_get_edid() argument
219 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_get_edid()
227 virtio_gpu_ctrl_response(g, cmd, &edid.hdr, sizeof(edid)); in virtio_gpu_get_edid()
253 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_create_2d() argument
267 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_create_2d()
275 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_create_2d()
292 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_resource_create_2d()
325 cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY; in virtio_gpu_resource_create_2d()
334 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_create_blob() argument
347 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_create_blob()
355 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_resource_create_blob()
362 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_create_blob()
371 cmd, &res->addrs, &res->iov, in virtio_gpu_resource_create_blob()
374 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in virtio_gpu_resource_create_blob()
426 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_unref() argument
439 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_unref()
450 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_transfer_to_host_2d() argument
464 __func__, &cmd->error); in virtio_gpu_transfer_to_host_2d()
479 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_transfer_to_host_2d()
507 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_flush() argument
523 __func__, &cmd->error); in virtio_gpu_resource_flush()
554 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_resource_flush()
570 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_resource_flush()
704 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_set_scanout() argument
718 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID; in virtio_gpu_set_scanout()
728 __func__, &cmd->error); in virtio_gpu_set_scanout()
741 &fb, res, &ss.r, &cmd->error); in virtio_gpu_set_scanout()
745 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_set_scanout_blob() argument
761 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID; in virtio_gpu_set_scanout_blob()
771 __func__, &cmd->error); in virtio_gpu_set_scanout_blob()
781 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_set_scanout_blob()
798 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_set_scanout_blob()
803 &fb, res, &ss.r, &cmd->error); in virtio_gpu_set_scanout_blob()
808 struct virtio_gpu_ctrl_command *cmd, in virtio_gpu_create_mapping_iov() argument
825 s = iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, in virtio_gpu_create_mapping_iov()
916 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_attach_backing() argument
930 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virtio_gpu_resource_attach_backing()
935 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in virtio_gpu_resource_attach_backing()
939 ret = virtio_gpu_create_mapping_iov(g, ab.nr_entries, sizeof(ab), cmd, in virtio_gpu_resource_attach_backing()
942 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in virtio_gpu_resource_attach_backing()
949 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_resource_detach_backing() argument
959 __func__, &cmd->error); in virtio_gpu_resource_detach_backing()
967 struct virtio_gpu_ctrl_command *cmd) in virtio_gpu_simple_process_cmd() argument
969 VIRTIO_GPU_FILL_CMD(cmd->cmd_hdr); in virtio_gpu_simple_process_cmd()
970 virtio_gpu_ctrl_hdr_bswap(&cmd->cmd_hdr); in virtio_gpu_simple_process_cmd()
972 switch (cmd->cmd_hdr.type) { in virtio_gpu_simple_process_cmd()
974 virtio_gpu_get_display_info(g, cmd); in virtio_gpu_simple_process_cmd()
977 virtio_gpu_get_edid(g, cmd); in virtio_gpu_simple_process_cmd()
980 virtio_gpu_resource_create_2d(g, cmd); in virtio_gpu_simple_process_cmd()
984 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_simple_process_cmd()
987 virtio_gpu_resource_create_blob(g, cmd); in virtio_gpu_simple_process_cmd()
990 virtio_gpu_resource_unref(g, cmd); in virtio_gpu_simple_process_cmd()
993 virtio_gpu_resource_flush(g, cmd); in virtio_gpu_simple_process_cmd()
996 virtio_gpu_transfer_to_host_2d(g, cmd); in virtio_gpu_simple_process_cmd()
999 virtio_gpu_set_scanout(g, cmd); in virtio_gpu_simple_process_cmd()
1003 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virtio_gpu_simple_process_cmd()
1006 virtio_gpu_set_scanout_blob(g, cmd); in virtio_gpu_simple_process_cmd()
1009 virtio_gpu_resource_attach_backing(g, cmd); in virtio_gpu_simple_process_cmd()
1012 virtio_gpu_resource_detach_backing(g, cmd); in virtio_gpu_simple_process_cmd()
1015 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in virtio_gpu_simple_process_cmd()
1018 if (!cmd->finished) { in virtio_gpu_simple_process_cmd()
1020 virtio_gpu_ctrl_response_nodata(g, cmd, cmd->error ? cmd->error : in virtio_gpu_simple_process_cmd()
1040 struct virtio_gpu_ctrl_command *cmd; in virtio_gpu_process_cmdq() local
1048 cmd = QTAILQ_FIRST(&g->cmdq); in virtio_gpu_process_cmdq()
1055 vgc->process_cmd(g, cmd); in virtio_gpu_process_cmdq()
1057 QTAILQ_REMOVE(&g->cmdq, cmd, next); in virtio_gpu_process_cmdq()
1062 if (!cmd->finished) { in virtio_gpu_process_cmdq()
1063 QTAILQ_INSERT_TAIL(&g->fenceq, cmd, next); in virtio_gpu_process_cmdq()
1072 g_free(cmd); in virtio_gpu_process_cmdq()
1080 struct virtio_gpu_ctrl_command *cmd, *tmp; in virtio_gpu_process_fenceq() local
1082 QTAILQ_FOREACH_SAFE(cmd, &g->fenceq, next, tmp) { in virtio_gpu_process_fenceq()
1083 trace_virtio_gpu_fence_resp(cmd->cmd_hdr.fence_id); in virtio_gpu_process_fenceq()
1084 virtio_gpu_ctrl_response_nodata(g, cmd, VIRTIO_GPU_RESP_OK_NODATA); in virtio_gpu_process_fenceq()
1085 QTAILQ_REMOVE(&g->fenceq, cmd, next); in virtio_gpu_process_fenceq()
1086 g_free(cmd); in virtio_gpu_process_fenceq()
1105 struct virtio_gpu_ctrl_command *cmd; in virtio_gpu_handle_ctrl() local
1111 cmd = virtqueue_pop(vq, sizeof(struct virtio_gpu_ctrl_command)); in virtio_gpu_handle_ctrl()
1112 while (cmd) { in virtio_gpu_handle_ctrl()
1113 cmd->vq = vq; in virtio_gpu_handle_ctrl()
1114 cmd->error = 0; in virtio_gpu_handle_ctrl()
1115 cmd->finished = false; in virtio_gpu_handle_ctrl()
1116 QTAILQ_INSERT_TAIL(&g->cmdq, cmd, next); in virtio_gpu_handle_ctrl()
1117 cmd = virtqueue_pop(vq, sizeof(struct virtio_gpu_ctrl_command)); in virtio_gpu_handle_ctrl()
1549 struct virtio_gpu_ctrl_command *cmd; in virtio_gpu_reset() local
1562 cmd = QTAILQ_FIRST(&g->cmdq); in virtio_gpu_reset()
1563 QTAILQ_REMOVE(&g->cmdq, cmd, next); in virtio_gpu_reset()
1564 g_free(cmd); in virtio_gpu_reset()
1568 cmd = QTAILQ_FIRST(&g->fenceq); in virtio_gpu_reset()
1569 QTAILQ_REMOVE(&g->fenceq, cmd, next); in virtio_gpu_reset()
1571 g_free(cmd); in virtio_gpu_reset()