Lines Matching refs:vq
61 struct virtqueue *vq; member
220 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() local
224 virtqueue_disable_cb(vq); in virtscsi_vq_done()
225 while ((buf = virtqueue_get_buf(vq, &len)) != NULL) in virtscsi_vq_done()
227 } while (!virtqueue_enable_cb(vq)); in virtscsi_vq_done()
231 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() argument
233 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_req_done()
235 int index = vq->index - VIRTIO_SCSI_VQ_BASE; in virtscsi_req_done()
283 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() argument
285 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_ctrl_done()
302 err = virtqueue_add_inbuf(vscsi->event_vq.vq, &sg, 1, event_node, in virtscsi_kick_event()
305 virtqueue_kick(vscsi->event_vq.vq); in virtscsi_kick_event()
419 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done() argument
421 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_event_done()
435 static int virtscsi_add_cmd(struct virtqueue *vq, in virtscsi_add_cmd() argument
469 return virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, gfp); in virtscsi_add_cmd()
472 static int virtscsi_kick_cmd(struct virtio_scsi_vq *vq, in virtscsi_kick_cmd() argument
480 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_kick_cmd()
481 err = virtscsi_add_cmd(vq->vq, cmd, req_size, resp_size, gfp); in virtscsi_kick_cmd()
483 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_kick_cmd()
485 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_kick_cmd()
488 virtqueue_notify(vq->vq); in virtscsi_kick_cmd()
554 struct virtio_scsi_vq *vq; in virtscsi_pick_vq() local
565 vq = ACCESS_ONCE(tgt->req_vq); in virtscsi_pick_vq()
571 tgt->req_vq = vq = &vscsi->req_vqs[queue_num]; in virtscsi_pick_vq()
575 return vq; in virtscsi_pick_vq()
748 virtqueue_set_affinity(vscsi->req_vqs[i].vq, cpu); in __virtscsi_set_affinity()
755 virtqueue_set_affinity(vscsi->req_vqs[i].vq, -1); in __virtscsi_set_affinity()
786 struct virtqueue *vq) in virtscsi_init_vq() argument
789 virtscsi_vq->vq = vq; in virtscsi_init_vq()