• Home
  • Raw
  • Download

Lines Matching refs:vq

67 	struct virtqueue *vq;  member
176 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() local
180 virtqueue_disable_cb(vq); in virtscsi_vq_done()
181 while ((buf = virtqueue_get_buf(vq, &len)) != NULL) in virtscsi_vq_done()
184 if (unlikely(virtqueue_is_broken(vq))) in virtscsi_vq_done()
186 } while (!virtqueue_enable_cb(vq)); in virtscsi_vq_done()
190 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() argument
192 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_req_done()
194 int index = vq->index - VIRTIO_SCSI_VQ_BASE; in virtscsi_req_done()
218 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() argument
220 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_ctrl_done()
240 err = virtqueue_add_inbuf(vscsi->event_vq.vq, &sg, 1, event_node, in virtscsi_kick_event()
243 virtqueue_kick(vscsi->event_vq.vq); in virtscsi_kick_event()
408 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done() argument
410 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_event_done()
416 static int __virtscsi_add_cmd(struct virtqueue *vq, in __virtscsi_add_cmd() argument
458 return virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_ATOMIC); in __virtscsi_add_cmd()
461 static void virtscsi_kick_vq(struct virtio_scsi_vq *vq) in virtscsi_kick_vq() argument
466 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_kick_vq()
467 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_kick_vq()
468 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_kick_vq()
471 virtqueue_notify(vq->vq); in virtscsi_kick_vq()
482 static int virtscsi_add_cmd(struct virtio_scsi_vq *vq, in virtscsi_add_cmd() argument
491 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_add_cmd()
492 err = __virtscsi_add_cmd(vq->vq, cmd, req_size, resp_size); in virtscsi_add_cmd()
494 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_add_cmd()
496 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_add_cmd()
499 virtqueue_notify(vq->vq); in virtscsi_add_cmd()
772 struct virtqueue *vq) in virtscsi_init_vq() argument
775 virtscsi_vq->vq = vq; in virtscsi_init_vq()
878 shost->can_queue = virtqueue_get_vring_size(vscsi->req_vqs[0].vq); in virtscsi_probe()