Lines Matching refs:cmd
544 virtio_gpu_cmd_unspec(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_unspec() argument
550 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_unspec()
552 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_unspec()
553 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_unspec()
557 virtio_gpu_cmd_get_edid(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_get_edid() argument
563 gpu = cmd->gpu; in virtio_gpu_cmd_get_edid()
564 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_get_edid()
565 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_get_edid()
567 virtio_gpu_update_resp_fence(&cmd->hdr, &resp.hdr); in virtio_gpu_cmd_get_edid()
571 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_get_edid()
578 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_get_edid()
582 virtio_gpu_cmd_get_display_info(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_get_display_info() argument
589 gpu = cmd->gpu; in virtio_gpu_cmd_get_display_info()
590 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_get_display_info()
593 virtio_gpu_update_resp_fence(&cmd->hdr, &resp.hdr); in virtio_gpu_cmd_get_display_info()
602 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_get_display_info()
687 virtio_gpu_cmd_resource_create_2d(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_resource_create_2d() argument
693 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_resource_create_2d()
696 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_resource_create_2d()
727 LIST_INSERT_HEAD(&cmd->gpu->r2d_list, r2d, link); in virtio_gpu_cmd_resource_create_2d()
731 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_resource_create_2d()
732 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_resource_create_2d()
733 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_create_2d()
737 virtio_gpu_cmd_resource_unref(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_resource_unref() argument
743 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_resource_unref()
746 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_resource_unref()
769 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_resource_unref()
770 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_resource_unref()
771 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_unref()
775 virtio_gpu_cmd_resource_attach_backing(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_resource_attach_backing() argument
785 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_resource_attach_backing()
796 if (cmd->iovcnt < 2) { in virtio_gpu_cmd_resource_attach_backing()
798 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_attach_backing()
803 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_resource_attach_backing()
820 for (i = 1; i < (cmd->iovcnt - 1); i++) { in virtio_gpu_cmd_resource_attach_backing()
821 memcpy(pbuf, cmd->iov[i].iov_base, cmd->iov[i].iov_len); in virtio_gpu_cmd_resource_attach_backing()
822 pbuf += cmd->iov[i].iov_len; in virtio_gpu_cmd_resource_attach_backing()
826 cmd->gpu->base.dev->vmctx, in virtio_gpu_cmd_resource_attach_backing()
838 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_resource_attach_backing()
839 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_resource_attach_backing()
840 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_attach_backing()
844 virtio_gpu_cmd_resource_detach_backing(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_resource_detach_backing() argument
850 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_resource_detach_backing()
853 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_resource_detach_backing()
859 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_resource_detach_backing()
861 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_resource_detach_backing()
862 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_detach_backing()
866 virtio_gpu_cmd_set_scanout(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_set_scanout() argument
876 gpu = cmd->gpu; in virtio_gpu_cmd_set_scanout()
877 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_set_scanout()
879 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_set_scanout()
884 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout()
895 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout()
925 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_set_scanout()
926 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout()
928 if(cmd->gpu->vga.enable) { in virtio_gpu_cmd_set_scanout()
929 cmd->gpu->vga.enable = false; in virtio_gpu_cmd_set_scanout()
934 virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_transfer_to_host_2d() argument
945 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_transfer_to_host_2d()
947 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_transfer_to_host_2d()
949 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_transfer_to_host_2d()
954 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_transfer_to_host_2d()
960 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_transfer_to_host_2d()
1010 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_transfer_to_host_2d()
1011 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_transfer_to_host_2d()
1055 virtio_gpu_cmd_resource_flush(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_resource_flush() argument
1066 gpu = cmd->gpu; in virtio_gpu_cmd_resource_flush()
1067 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_resource_flush()
1069 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_resource_flush()
1076 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_flush()
1091 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_flush()
1114 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_resource_flush()
1116 memcpy(cmd->iov[1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_resource_flush()
1194 virtio_gpu_cmd_create_blob(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_create_blob() argument
1204 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_create_blob()
1205 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_create_blob()
1207 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_create_blob()
1212 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1222 if (cmd->iovcnt < 2) { in virtio_gpu_cmd_create_blob()
1224 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1234 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1238 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_create_blob()
1243 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1252 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1264 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1268 for (i = 1; i < (cmd->iovcnt - 1); i++) { in virtio_gpu_cmd_create_blob()
1269 memcpy(pbuf, cmd->iov[i].iov_base, cmd->iov[i].iov_len); in virtio_gpu_cmd_create_blob()
1270 pbuf += cmd->iov[i].iov_len; in virtio_gpu_cmd_create_blob()
1274 r2d->dma_info = virtio_gpu_create_udmabuf(cmd->gpu, in virtio_gpu_cmd_create_blob()
1280 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1299 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1307 cmd->gpu->base.dev->vmctx, in virtio_gpu_cmd_create_blob()
1317 LIST_INSERT_HEAD(&cmd->gpu->r2d_list, r2d, link); in virtio_gpu_cmd_create_blob()
1318 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_create_blob()
1322 virtio_gpu_cmd_set_scanout_blob(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_set_scanout_blob() argument
1333 gpu = cmd->gpu; in virtio_gpu_cmd_set_scanout_blob()
1335 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_set_scanout_blob()
1336 cmd->iolen = sizeof(resp); in virtio_gpu_cmd_set_scanout_blob()
1338 virtio_gpu_update_resp_fence(&cmd->hdr, &resp); in virtio_gpu_cmd_set_scanout_blob()
1339 if (cmd->gpu->vga.enable) { in virtio_gpu_cmd_set_scanout_blob()
1340 cmd->gpu->vga.enable = false; in virtio_gpu_cmd_set_scanout_blob()
1345 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout_blob()
1353 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout_blob()
1357 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_set_scanout_blob()
1360 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout_blob()
1365 virtio_gpu_cmd_set_scanout(cmd); in virtio_gpu_cmd_set_scanout_blob()
1402 memcpy(cmd->iov[cmd->iovcnt - 1].iov_base, &resp, sizeof(resp)); in virtio_gpu_cmd_set_scanout_blob()
1412 struct virtio_gpu_command cmd; in virtio_gpu_ctrl_bh() local
1420 cmd.gpu = vdev; in virtio_gpu_ctrl_bh()
1421 cmd.iolen = 0; in virtio_gpu_ctrl_bh()
1434 cmd.iovcnt = n; in virtio_gpu_ctrl_bh()
1435 cmd.iov = iov; in virtio_gpu_ctrl_bh()
1436 memcpy(&cmd.hdr, iov[0].iov_base, in virtio_gpu_ctrl_bh()
1439 switch (cmd.hdr.type) { in virtio_gpu_ctrl_bh()
1441 virtio_gpu_cmd_get_edid(&cmd); in virtio_gpu_ctrl_bh()
1444 virtio_gpu_cmd_get_display_info(&cmd); in virtio_gpu_ctrl_bh()
1447 virtio_gpu_cmd_resource_create_2d(&cmd); in virtio_gpu_ctrl_bh()
1450 virtio_gpu_cmd_resource_unref(&cmd); in virtio_gpu_ctrl_bh()
1453 virtio_gpu_cmd_resource_attach_backing(&cmd); in virtio_gpu_ctrl_bh()
1456 virtio_gpu_cmd_resource_detach_backing(&cmd); in virtio_gpu_ctrl_bh()
1459 virtio_gpu_cmd_set_scanout(&cmd); in virtio_gpu_ctrl_bh()
1462 virtio_gpu_cmd_transfer_to_host_2d(&cmd); in virtio_gpu_ctrl_bh()
1465 virtio_gpu_cmd_resource_flush(&cmd); in virtio_gpu_ctrl_bh()
1469 virtio_gpu_cmd_unspec(&cmd); in virtio_gpu_ctrl_bh()
1472 virtio_gpu_cmd_create_blob(&cmd); in virtio_gpu_ctrl_bh()
1476 virtio_gpu_cmd_unspec(&cmd); in virtio_gpu_ctrl_bh()
1479 virtio_gpu_cmd_set_scanout_blob(&cmd); in virtio_gpu_ctrl_bh()
1482 virtio_gpu_cmd_unspec(&cmd); in virtio_gpu_ctrl_bh()
1486 vq_relchain(vq, idx, cmd.iolen); /* Release the chain */ in virtio_gpu_ctrl_bh()
1501 virtio_gpu_cmd_update_cursor(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_update_cursor() argument
1508 gpu = cmd->gpu; in virtio_gpu_cmd_update_cursor()
1509 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_update_cursor()
1511 r2d = virtio_gpu_find_resource_2d(cmd->gpu, req.resource_id); in virtio_gpu_cmd_update_cursor()
1531 virtio_gpu_cmd_move_cursor(struct virtio_gpu_command *cmd) in virtio_gpu_cmd_move_cursor() argument
1536 gpu = cmd->gpu; in virtio_gpu_cmd_move_cursor()
1537 memcpy(&req, cmd->iov[0].iov_base, sizeof(req)); in virtio_gpu_cmd_move_cursor()
1546 struct virtio_gpu_command cmd; in virtio_gpu_cursor_bh() local
1554 cmd.gpu = vdev; in virtio_gpu_cursor_bh()
1555 cmd.iolen = 0; in virtio_gpu_cursor_bh()
1567 cmd.iovcnt = n; in virtio_gpu_cursor_bh()
1568 cmd.iov = iov; in virtio_gpu_cursor_bh()
1572 virtio_gpu_cmd_update_cursor(&cmd); in virtio_gpu_cursor_bh()
1575 virtio_gpu_cmd_move_cursor(&cmd); in virtio_gpu_cursor_bh()
1581 vq_relchain(vq, idx, cmd.iolen); /* Release the chain */ in virtio_gpu_cursor_bh()