Lines Matching refs:vp_dev

22 	struct virtio_pci_device *vp_dev = to_vp_device(vdev);
26 return ioread32(vp_dev->ioaddr + VIRTIO_PCI_HOST_FEATURES);
32 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
41 iowrite32(vdev->features, vp_dev->ioaddr + VIRTIO_PCI_GUEST_FEATURES);
50 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
51 void __iomem *ioaddr = vp_dev->ioaddr +
52 VIRTIO_PCI_CONFIG_OFF(vp_dev->msix_enabled) +
66 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
67 void __iomem *ioaddr = vp_dev->ioaddr +
68 VIRTIO_PCI_CONFIG_OFF(vp_dev->msix_enabled) +
80 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
81 return ioread8(vp_dev->ioaddr + VIRTIO_PCI_STATUS);
86 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
89 iowrite8(status, vp_dev->ioaddr + VIRTIO_PCI_STATUS);
94 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
96 iowrite8(0, vp_dev->ioaddr + VIRTIO_PCI_STATUS);
99 ioread8(vp_dev->ioaddr + VIRTIO_PCI_STATUS);
104 static u16 vp_config_vector(struct virtio_pci_device *vp_dev, u16 vector)
107 iowrite16(vector, vp_dev->ioaddr + VIRTIO_MSI_CONFIG_VECTOR);
110 return ioread16(vp_dev->ioaddr + VIRTIO_MSI_CONFIG_VECTOR);
113 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
127 iowrite16(index, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_SEL);
130 num = ioread16(vp_dev->ioaddr + VIRTIO_PCI_QUEUE_NUM);
131 if (!num || ioread32(vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN))
138 VIRTIO_PCI_VRING_ALIGN, &vp_dev->vdev,
146 dev_err(&vp_dev->pci_dev->dev,
154 iowrite32(q_pfn, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN);
156 vq->priv = (void __force *)vp_dev->ioaddr + VIRTIO_PCI_QUEUE_NOTIFY;
159 iowrite16(msix_vec, vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR);
160 msix_vec = ioread16(vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR);
170 iowrite32(0, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN);
179 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
181 iowrite16(vq->index, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_SEL);
183 if (vp_dev->msix_enabled) {
185 vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR);
187 ioread8(vp_dev->ioaddr + VIRTIO_PCI_ISR);
191 iowrite32(0, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN);
212 int virtio_pci_legacy_probe(struct virtio_pci_device *vp_dev)
214 struct pci_dev *pci_dev = vp_dev->pci_dev;
247 vp_dev->ioaddr = pci_iomap(pci_dev, 0, 0);
248 if (!vp_dev->ioaddr)
251 vp_dev->isr = vp_dev->ioaddr + VIRTIO_PCI_ISR;
257 vp_dev->vdev.id.vendor = pci_dev->subsystem_vendor;
258 vp_dev->vdev.id.device = pci_dev->subsystem_device;
260 vp_dev->vdev.config = &virtio_pci_config_ops;
262 vp_dev->config_vector = vp_config_vector;
263 vp_dev->setup_vq = setup_vq;
264 vp_dev->del_vq = del_vq;
273 void virtio_pci_legacy_remove(struct virtio_pci_device *vp_dev)
275 struct pci_dev *pci_dev = vp_dev->pci_dev;
277 pci_iounmap(pci_dev, vp_dev->ioaddr);