Lines Matching refs:vqs
69 /* num of vqs */
71 struct virtio_blk_vq *vqs;
183 spin_lock_irqsave(&vblk->vqs[qid].lock, flags);
186 while ((vbr = virtqueue_get_buf(vblk->vqs[qid].vq, &len)) != NULL) {
200 spin_unlock_irqrestore(&vblk->vqs[qid].lock, flags);
206 struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num];
277 spin_lock_irqsave(&vblk->vqs[qid].lock, flags);
278 err = virtblk_add_req(vblk->vqs[qid].vq, vbr, vbr->sg, num);
280 virtqueue_kick(vblk->vqs[qid].vq);
286 spin_unlock_irqrestore(&vblk->vqs[qid].lock, flags);
297 if (bd->last && virtqueue_kick_prepare(vblk->vqs[qid].vq))
299 spin_unlock_irqrestore(&vblk->vqs[qid].lock, flags);
302 virtqueue_notify(vblk->vqs[qid].vq);
497 struct virtqueue **vqs;
510 vblk->vqs = kmalloc_array(num_vqs, sizeof(*vblk->vqs), GFP_KERNEL);
511 if (!vblk->vqs)
516 vqs = kmalloc_array(num_vqs, sizeof(*vqs), GFP_KERNEL);
517 if (!names || !callbacks || !vqs) {
524 snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req.%d", i);
525 names[i] = vblk->vqs[i].name;
529 err = virtio_find_vqs(vdev, num_vqs, vqs, callbacks, names, &desc);
534 spin_lock_init(&vblk->vqs[i].lock);
535 vblk->vqs[i].vq = vqs[i];
540 kfree(vqs);
544 kfree(vblk->vqs);
761 virtblk_queue_depth = vblk->vqs[0].vq->num_free;
912 kfree(vblk->vqs);
943 kfree(vblk->vqs);
964 kfree(vblk->vqs);