Lines Matching refs:vp_dev
25 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_get_features() local
29 return ioread32(vp_dev->ioaddr + VIRTIO_PCI_HOST_FEATURES); in vp_get_features()
35 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_finalize_features() local
44 iowrite32(vdev->features, vp_dev->ioaddr + VIRTIO_PCI_GUEST_FEATURES); in vp_finalize_features()
53 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_get() local
54 void __iomem *ioaddr = vp_dev->ioaddr + in vp_get()
55 VIRTIO_PCI_CONFIG(vp_dev) + offset; in vp_get()
68 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_set() local
69 void __iomem *ioaddr = vp_dev->ioaddr + in vp_set()
70 VIRTIO_PCI_CONFIG(vp_dev) + offset; in vp_set()
81 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_get_status() local
82 return ioread8(vp_dev->ioaddr + VIRTIO_PCI_STATUS); in vp_get_status()
87 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_set_status() local
90 iowrite8(status, vp_dev->ioaddr + VIRTIO_PCI_STATUS); in vp_set_status()
95 struct virtio_pci_device *vp_dev = to_vp_device(vdev); in vp_reset() local
97 iowrite8(0, vp_dev->ioaddr + VIRTIO_PCI_STATUS); in vp_reset()
100 ioread8(vp_dev->ioaddr + VIRTIO_PCI_STATUS); in vp_reset()
105 static u16 vp_config_vector(struct virtio_pci_device *vp_dev, u16 vector) in vp_config_vector() argument
108 iowrite16(vector, vp_dev->ioaddr + VIRTIO_MSI_CONFIG_VECTOR); in vp_config_vector()
111 return ioread16(vp_dev->ioaddr + VIRTIO_MSI_CONFIG_VECTOR); in vp_config_vector()
114 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq() argument
127 iowrite16(index, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_SEL); in setup_vq()
130 num = ioread16(vp_dev->ioaddr + VIRTIO_PCI_QUEUE_NUM); in setup_vq()
131 if (!num || ioread32(vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN)) in setup_vq()
144 vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN); in setup_vq()
148 VIRTIO_PCI_VRING_ALIGN, &vp_dev->vdev, in setup_vq()
155 vq->priv = (void __force *)vp_dev->ioaddr + VIRTIO_PCI_QUEUE_NOTIFY; in setup_vq()
158 iowrite16(msix_vec, vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR); in setup_vq()
159 msix_vec = ioread16(vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR); in setup_vq()
171 iowrite32(0, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN); in setup_vq()
179 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev); in del_vq() local
182 iowrite16(vq->index, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_SEL); in del_vq()
184 if (vp_dev->msix_enabled) { in del_vq()
186 vp_dev->ioaddr + VIRTIO_MSI_QUEUE_VECTOR); in del_vq()
188 ioread8(vp_dev->ioaddr + VIRTIO_PCI_ISR); in del_vq()
194 iowrite32(0, vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN); in del_vq()
215 int virtio_pci_legacy_probe(struct virtio_pci_device *vp_dev) in virtio_pci_legacy_probe() argument
217 struct pci_dev *pci_dev = vp_dev->pci_dev; in virtio_pci_legacy_probe()
229 vp_dev->ioaddr = pci_iomap(pci_dev, 0, 0); in virtio_pci_legacy_probe()
230 if (!vp_dev->ioaddr) in virtio_pci_legacy_probe()
233 vp_dev->isr = vp_dev->ioaddr + VIRTIO_PCI_ISR; in virtio_pci_legacy_probe()
239 vp_dev->vdev.id.vendor = pci_dev->subsystem_vendor; in virtio_pci_legacy_probe()
240 vp_dev->vdev.id.device = pci_dev->subsystem_device; in virtio_pci_legacy_probe()
242 vp_dev->vdev.config = &virtio_pci_config_ops; in virtio_pci_legacy_probe()
244 vp_dev->config_vector = vp_config_vector; in virtio_pci_legacy_probe()
245 vp_dev->setup_vq = setup_vq; in virtio_pci_legacy_probe()
246 vp_dev->del_vq = del_vq; in virtio_pci_legacy_probe()
251 void virtio_pci_legacy_remove(struct virtio_pci_device *vp_dev) in virtio_pci_legacy_remove() argument
253 struct pci_dev *pci_dev = vp_dev->pci_dev; in virtio_pci_legacy_remove()
255 pci_iounmap(pci_dev, vp_dev->ioaddr); in virtio_pci_legacy_remove()