Lines Matching refs:svq
214 struct vhost_scsi_virtqueue *svq; member
283 struct vhost_scsi_virtqueue *svq; in vhost_scsi_get_inflight() local
285 svq = container_of(vq, struct vhost_scsi_virtqueue, vq); in vhost_scsi_get_inflight()
286 inflight = &svq->inflights[svq->inflight_idx]; in vhost_scsi_get_inflight()
330 struct vhost_scsi_virtqueue *svq = container_of(tv_cmd->tvc_vq, in vhost_scsi_release_cmd_res() local
349 sbitmap_clear_bit(&svq->scsi_tags, se_cmd->map_tag); in vhost_scsi_release_cmd_res()
366 struct vhost_virtqueue *vq = &tmf->svq->vq; in vhost_scsi_release_cmd()
372 struct vhost_scsi_virtqueue *svq = container_of(cmd->tvc_vq, in vhost_scsi_release_cmd() local
375 llist_add(&cmd->tvc_completion_list, &svq->completion_list); in vhost_scsi_release_cmd()
376 vhost_vq_work_queue(&svq->vq, &svq->completion_work); in vhost_scsi_release_cmd()
546 struct vhost_scsi_virtqueue *svq = container_of(work, in vhost_scsi_complete_cmd_work() local
556 llnode = llist_del_all(&svq->completion_list); in vhost_scsi_complete_cmd_work()
591 vhost_signal(&svq->vs->dev, &svq->vq); in vhost_scsi_complete_cmd_work()
599 struct vhost_scsi_virtqueue *svq = container_of(vq, in vhost_scsi_get_cmd() local
614 tag = sbitmap_get(&svq->scsi_tags); in vhost_scsi_get_cmd()
620 cmd = &svq->scsi_cmds[tag]; in vhost_scsi_get_cmd()
1295 vhost_scsi_send_tmf_resp(tmf->vhost, &tmf->svq->vq, tmf->in_iovs, in vhost_scsi_tmf_resp_work()
1306 struct vhost_scsi_virtqueue *svq = container_of(vq, in vhost_scsi_handle_tmf() local
1325 tmf->svq = svq; in vhost_scsi_handle_tmf()
1567 struct vhost_scsi_virtqueue *svq = container_of(vq, in vhost_scsi_destroy_vq_cmds() local
1572 if (!svq->scsi_cmds) in vhost_scsi_destroy_vq_cmds()
1575 for (i = 0; i < svq->max_cmds; i++) { in vhost_scsi_destroy_vq_cmds()
1576 tv_cmd = &svq->scsi_cmds[i]; in vhost_scsi_destroy_vq_cmds()
1584 sbitmap_free(&svq->scsi_tags); in vhost_scsi_destroy_vq_cmds()
1585 kfree(svq->scsi_cmds); in vhost_scsi_destroy_vq_cmds()
1586 svq->scsi_cmds = NULL; in vhost_scsi_destroy_vq_cmds()
1591 struct vhost_scsi_virtqueue *svq = container_of(vq, in vhost_scsi_setup_vq_cmds() local
1596 if (svq->scsi_cmds) in vhost_scsi_setup_vq_cmds()
1599 if (sbitmap_init_node(&svq->scsi_tags, max_cmds, -1, GFP_KERNEL, in vhost_scsi_setup_vq_cmds()
1602 svq->max_cmds = max_cmds; in vhost_scsi_setup_vq_cmds()
1604 svq->scsi_cmds = kcalloc(max_cmds, sizeof(*tv_cmd), GFP_KERNEL); in vhost_scsi_setup_vq_cmds()
1605 if (!svq->scsi_cmds) { in vhost_scsi_setup_vq_cmds()
1606 sbitmap_free(&svq->scsi_tags); in vhost_scsi_setup_vq_cmds()
1611 tv_cmd = &svq->scsi_cmds[i]; in vhost_scsi_setup_vq_cmds()
1922 struct vhost_scsi_virtqueue *svq; in vhost_scsi_open() local
1965 svq = &vs->vqs[i]; in vhost_scsi_open()
1967 vqs[i] = &svq->vq; in vhost_scsi_open()
1968 svq->vs = vs; in vhost_scsi_open()
1969 init_llist_head(&svq->completion_list); in vhost_scsi_open()
1970 vhost_work_init(&svq->completion_work, in vhost_scsi_open()
1972 svq->vq.handle_kick = vhost_scsi_handle_kick; in vhost_scsi_open()