Lines Matching refs:vq
65 struct virtqueue *vq; member
222 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() local
226 virtqueue_disable_cb(vq); in virtscsi_vq_done()
227 while ((buf = virtqueue_get_buf(vq, &len)) != NULL) in virtscsi_vq_done()
230 if (unlikely(virtqueue_is_broken(vq))) in virtscsi_vq_done()
232 } while (!virtqueue_enable_cb(vq)); in virtscsi_vq_done()
236 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() argument
238 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_req_done()
240 int index = vq->index - VIRTIO_SCSI_VQ_BASE; in virtscsi_req_done()
264 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() argument
266 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_ctrl_done()
286 err = virtqueue_add_inbuf(vscsi->event_vq.vq, &sg, 1, event_node, in virtscsi_kick_event()
289 virtqueue_kick(vscsi->event_vq.vq); in virtscsi_kick_event()
410 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done() argument
412 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_event_done()
425 static int virtscsi_add_cmd(struct virtqueue *vq, in virtscsi_add_cmd() argument
467 return virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_ATOMIC); in virtscsi_add_cmd()
470 static int virtscsi_kick_cmd(struct virtio_scsi_vq *vq, in virtscsi_kick_cmd() argument
478 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_kick_cmd()
479 err = virtscsi_add_cmd(vq->vq, cmd, req_size, resp_size); in virtscsi_kick_cmd()
481 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_kick_cmd()
483 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_kick_cmd()
486 virtqueue_notify(vq->vq); in virtscsi_kick_cmd()
592 struct virtio_scsi_vq *vq; in virtscsi_pick_vq() local
602 vq = tgt->req_vq; in virtscsi_pick_vq()
610 vq = tgt->req_vq; in virtscsi_pick_vq()
617 tgt->req_vq = vq = &vscsi->req_vqs[queue_num]; in virtscsi_pick_vq()
623 return vq; in virtscsi_pick_vq()
831 virtqueue_set_affinity(vscsi->req_vqs[i].vq, cpu); in __virtscsi_set_affinity()
838 if (!vscsi->req_vqs[i].vq) in __virtscsi_set_affinity()
841 virtqueue_set_affinity(vscsi->req_vqs[i].vq, -1); in __virtscsi_set_affinity()
873 struct virtqueue *vq) in virtscsi_init_vq() argument
876 virtscsi_vq->vq = vq; in virtscsi_init_vq()