Lines Matching refs:vq

51 	struct virtqueue *vq;
135 struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num];
137 return vq;
140 static int virtblk_add_req(struct virtqueue *vq, struct virtblk_req *vbr)
149 if (vbr->out_hdr.type & cpu_to_virtio32(vq->vdev, VIRTIO_BLK_T_OUT))
158 return virtqueue_add_sgs(vq, sgs, num_out, num_in, vbr, GFP_ATOMIC);
351 static void virtblk_done(struct virtqueue *vq)
353 struct virtio_blk *vblk = vq->vdev->priv;
355 int qid = vq->index;
362 virtqueue_disable_cb(vq);
363 while ((vbr = virtqueue_get_buf(vblk->vqs[qid].vq, &len)) != NULL) {
370 } while (!virtqueue_enable_cb(vq));
381 struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num];
384 spin_lock_irq(&vq->lock);
385 kick = virtqueue_kick_prepare(vq->vq);
386 spin_unlock_irq(&vq->lock);
389 virtqueue_notify(vq->vq);
444 err = virtblk_add_req(vblk->vqs[qid].vq, vbr);
446 virtqueue_kick(vblk->vqs[qid].vq);
457 if (bd->last && virtqueue_kick_prepare(vblk->vqs[qid].vq))
462 virtqueue_notify(vblk->vqs[qid].vq);
474 static bool virtblk_add_req_batch(struct virtio_blk_vq *vq,
481 spin_lock_irqsave(&vq->lock, flags);
487 err = virtblk_add_req(vq->vq, vbr);
495 kick = virtqueue_kick_prepare(vq->vq);
496 spin_unlock_irqrestore(&vq->lock, flags);
507 struct virtio_blk_vq *vq = get_virtio_blk_vq(req->mq_hctx);
519 kick = virtblk_add_req_batch(vq, rqlist);
521 virtqueue_notify(vq->vq);
1032 vblk->vqs[i].vq = vqs[i];
1208 struct virtio_blk_vq *vq = get_virtio_blk_vq(hctx);
1214 spin_lock_irqsave(&vq->lock, flags);
1216 while ((vbr = virtqueue_get_buf(vq->vq, &len)) != NULL) {
1229 spin_unlock_irqrestore(&vq->lock, flags);
1267 /* Prevent integer overflows and honor max vq size */
1485 queue_depth = vblk->vqs[0].vq->num_free;