Lines Matching refs:vq

67 	struct virtqueue *vq;  member
178 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() local
182 virtqueue_disable_cb(vq); in virtscsi_vq_done()
183 while ((buf = virtqueue_get_buf(vq, &len)) != NULL) in virtscsi_vq_done()
186 if (unlikely(virtqueue_is_broken(vq))) in virtscsi_vq_done()
188 } while (!virtqueue_enable_cb(vq)); in virtscsi_vq_done()
192 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() argument
194 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_req_done()
196 int index = vq->index - VIRTIO_SCSI_VQ_BASE; in virtscsi_req_done()
220 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() argument
222 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_ctrl_done()
242 err = virtqueue_add_inbuf(vscsi->event_vq.vq, &sg, 1, event_node, in virtscsi_kick_event()
245 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()
418 static int __virtscsi_add_cmd(struct virtqueue *vq, in __virtscsi_add_cmd() argument
460 return virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_ATOMIC); in __virtscsi_add_cmd()
463 static void virtscsi_kick_vq(struct virtio_scsi_vq *vq) in virtscsi_kick_vq() argument
468 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_kick_vq()
469 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_kick_vq()
470 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_kick_vq()
473 virtqueue_notify(vq->vq); in virtscsi_kick_vq()
484 static int virtscsi_add_cmd(struct virtio_scsi_vq *vq, in virtscsi_add_cmd() argument
493 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_add_cmd()
494 err = __virtscsi_add_cmd(vq->vq, cmd, req_size, resp_size); in virtscsi_add_cmd()
496 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_add_cmd()
498 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_add_cmd()
501 virtqueue_notify(vq->vq); in virtscsi_add_cmd()
774 struct virtqueue *vq) in virtscsi_init_vq() argument
777 virtscsi_vq->vq = vq; in virtscsi_init_vq()
880 shost->can_queue = virtqueue_get_vring_size(vscsi->req_vqs[0].vq); in virtscsi_probe()