Lines Matching refs:vdev

37 	struct virtio_device vdev;
99 static struct virtio_pci_device *to_vp_device(struct virtio_device *vdev)
101 return container_of(vdev, struct virtio_pci_device, vdev);
105 static u32 vp_get_features(struct virtio_device *vdev)
107 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
115 static void vp_finalize_features(struct virtio_device *vdev)
117 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
120 vring_transport_features(vdev);
123 BUILD_BUG_ON(ARRAY_SIZE(vdev->features) != 1);
124 iowrite32(vdev->features[0], vp_dev->ioaddr+VIRTIO_PCI_GUEST_FEATURES);
128 static void vp_get(struct virtio_device *vdev, unsigned offset,
131 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
143 static void vp_set(struct virtio_device *vdev, unsigned offset,
146 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
157 static u8 vp_get_status(struct virtio_device *vdev)
159 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
163 static void vp_set_status(struct virtio_device *vdev, u8 status)
165 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
172 static void vp_synchronize_vectors(struct virtio_device *vdev)
174 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
184 static void vp_reset(struct virtio_device *vdev)
186 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
193 vp_synchronize_vectors(vdev);
199 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
212 virtio_config_changed(&vp_dev->vdev);
260 static void vp_free_vectors(struct virtio_device *vdev)
262 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
298 static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors,
301 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
302 const char *name = dev_name(&vp_dev->vdev.dev);
368 vp_free_vectors(vdev);
372 static int vp_request_intx(struct virtio_device *vdev)
375 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
378 IRQF_SHARED, dev_name(&vdev->dev), vp_dev);
384 static struct virtqueue *setup_vq(struct virtio_device *vdev, unsigned index,
389 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
425 vq = vring_new_virtqueue(index, info->num, VIRTIO_PCI_VRING_ALIGN, vdev,
466 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
494 static void vp_del_vqs(struct virtio_device *vdev)
496 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
500 list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
510 vp_free_vectors(vdev);
513 static int vp_try_to_find_vqs(struct virtio_device *vdev, unsigned nvqs,
520 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
526 err = vp_request_intx(vdev);
541 err = vp_request_msix_vectors(vdev, nvectors, per_vq_vectors);
558 vqs[i] = setup_vq(vdev, i, callbacks[i], names[i], msix_vec);
571 dev_name(&vp_dev->vdev.dev), names[i]);
584 vp_del_vqs(vdev);
591 static int vp_find_vqs(struct virtio_device *vdev, unsigned nvqs,
599 err = vp_try_to_find_vqs(vdev, nvqs, vqs, callbacks, names, true, true);
603 err = vp_try_to_find_vqs(vdev, nvqs, vqs, callbacks, names,
608 return vp_try_to_find_vqs(vdev, nvqs, vqs, callbacks, names,
612 static const char *vp_bus_name(struct virtio_device *vdev)
614 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
626 struct virtio_device *vdev = vq->vdev;
627 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
693 vp_dev->vdev.dev.parent = &pci_dev->dev;
694 vp_dev->vdev.dev.release = virtio_pci_release_dev;
695 vp_dev->vdev.config = &virtio_pci_config_ops;
725 vp_dev->vdev.id.vendor = pci_dev->subsystem_vendor;
726 vp_dev->vdev.id.device = pci_dev->subsystem_device;
729 err = register_virtio_device(&vp_dev->vdev);
750 unregister_virtio_device(&vp_dev->vdev);
752 vp_del_vqs(&vp_dev->vdev);
766 ret = virtio_device_freeze(&vp_dev->vdev);
784 return virtio_device_restore(&vp_dev->vdev);