• Home
  • Raw
  • Download

Lines Matching refs:vq

66 	struct virtqueue *vq;  member
223 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() local
227 virtqueue_disable_cb(vq); in virtscsi_vq_done()
228 while ((buf = virtqueue_get_buf(vq, &len)) != NULL) in virtscsi_vq_done()
231 if (unlikely(virtqueue_is_broken(vq))) in virtscsi_vq_done()
233 } while (!virtqueue_enable_cb(vq)); in virtscsi_vq_done()
237 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() argument
239 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_req_done()
241 int index = vq->index - VIRTIO_SCSI_VQ_BASE; in virtscsi_req_done()
265 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() argument
267 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_ctrl_done()
287 err = virtqueue_add_inbuf(vscsi->event_vq.vq, &sg, 1, event_node, in virtscsi_kick_event()
290 virtqueue_kick(vscsi->event_vq.vq); in virtscsi_kick_event()
411 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done() argument
413 struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); in virtscsi_event_done()
426 static int virtscsi_add_cmd(struct virtqueue *vq, in virtscsi_add_cmd() argument
468 return virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_ATOMIC); in virtscsi_add_cmd()
471 static int virtscsi_kick_cmd(struct virtio_scsi_vq *vq, in virtscsi_kick_cmd() argument
479 spin_lock_irqsave(&vq->vq_lock, flags); in virtscsi_kick_cmd()
480 err = virtscsi_add_cmd(vq->vq, cmd, req_size, resp_size); in virtscsi_kick_cmd()
482 needs_kick = virtqueue_kick_prepare(vq->vq); in virtscsi_kick_cmd()
484 spin_unlock_irqrestore(&vq->vq_lock, flags); in virtscsi_kick_cmd()
487 virtqueue_notify(vq->vq); in virtscsi_kick_cmd()
602 struct virtio_scsi_vq *vq; in virtscsi_pick_vq() local
612 vq = tgt->req_vq; in virtscsi_pick_vq()
620 vq = tgt->req_vq; in virtscsi_pick_vq()
627 tgt->req_vq = vq = &vscsi->req_vqs[queue_num]; in virtscsi_pick_vq()
633 return vq; in virtscsi_pick_vq()
863 virtqueue_set_affinity(vscsi->req_vqs[i].vq, cpu); in __virtscsi_set_affinity()
870 if (!vscsi->req_vqs[i].vq) in __virtscsi_set_affinity()
873 virtqueue_set_affinity(vscsi->req_vqs[i].vq, -1); in __virtscsi_set_affinity()
905 struct virtqueue *vq) in virtscsi_init_vq() argument
908 virtscsi_vq->vq = vq; in virtscsi_init_vq()