Lines Matching refs:vq

122 static bool qvirtio_pci_get_queue_isr_status(QVirtioDevice *d, QVirtQueue *vq)  in qvirtio_pci_get_queue_isr_status()  argument
125 QVirtQueuePCI *vqpci = (QVirtQueuePCI *)vq; in qvirtio_pci_get_queue_isr_status()
193 static void qvirtio_pci_set_queue_address(QVirtioDevice *d, QVirtQueue *vq) in qvirtio_pci_set_queue_address() argument
196 uint64_t pfn = vq->desc / VIRTIO_PCI_VRING_ALIGN; in qvirtio_pci_set_queue_address()
214 vqpci->vq.vdev = d; in qvirtio_pci_virtqueue_setup_common()
215 vqpci->vq.index = index; in qvirtio_pci_virtqueue_setup_common()
216 vqpci->vq.size = d->bus->get_queue_size(d); in qvirtio_pci_virtqueue_setup_common()
217 vqpci->vq.free_head = 0; in qvirtio_pci_virtqueue_setup_common()
218 vqpci->vq.num_free = vqpci->vq.size; in qvirtio_pci_virtqueue_setup_common()
219 vqpci->vq.align = VIRTIO_PCI_VRING_ALIGN; in qvirtio_pci_virtqueue_setup_common()
220 vqpci->vq.indirect = feat & (1ull << VIRTIO_RING_F_INDIRECT_DESC); in qvirtio_pci_virtqueue_setup_common()
221 vqpci->vq.event = feat & (1ull << VIRTIO_RING_F_EVENT_IDX); in qvirtio_pci_virtqueue_setup_common()
228 g_assert_cmpint(vqpci->vq.size, !=, 0); in qvirtio_pci_virtqueue_setup_common()
231 g_assert_cmpint(vqpci->vq.size & (vqpci->vq.size - 1), ==, 0); in qvirtio_pci_virtqueue_setup_common()
233 addr = guest_alloc(alloc, qvring_size(vqpci->vq.size, in qvirtio_pci_virtqueue_setup_common()
235 qvring_init(qvpcidev->pdev->bus->qts, alloc, &vqpci->vq, addr); in qvirtio_pci_virtqueue_setup_common()
236 d->bus->set_queue_address(d, &vqpci->vq); in qvirtio_pci_virtqueue_setup_common()
238 return &vqpci->vq; in qvirtio_pci_virtqueue_setup_common()
241 void qvirtio_pci_virtqueue_cleanup_common(QVirtQueue *vq, in qvirtio_pci_virtqueue_cleanup_common() argument
244 QVirtQueuePCI *vqpci = container_of(vq, QVirtQueuePCI, vq); in qvirtio_pci_virtqueue_cleanup_common()
246 guest_free(alloc, vq->desc); in qvirtio_pci_virtqueue_cleanup_common()
250 static void qvirtio_pci_virtqueue_kick(QVirtioDevice *d, QVirtQueue *vq) in qvirtio_pci_virtqueue_kick() argument
253 qpci_io_writew(dev->pdev, dev->bar, VIRTIO_PCI_QUEUE_NOTIFY, vq->index); in qvirtio_pci_virtqueue_kick()
340 d->msix_ops->set_queue_vector(d, vqpci->vq.index, entry); in qvirtqueue_pci_msix_setup()