Lines Matching refs:vpdev

48 	struct vop_device *vpdev;  member
191 struct vop_device *vpdev = vdev->vpdev; in vop_set_status() local
196 vpdev->hw_ops->send_intr(vpdev, vdev->c2h_vdev_db); in vop_set_status()
204 struct vop_device *vpdev = vdev->vpdev; in vop_reset_inform_host() local
209 vpdev->hw_ops->send_intr(vpdev, vdev->c2h_vdev_db); in vop_reset_inform_host()
241 struct vop_device *vpdev = vdev->vpdev; in vop_notify() local
243 vpdev->hw_ops->send_intr(vpdev, vdev->c2h_vdev_db); in vop_notify()
250 struct vop_device *vpdev = vdev->vpdev; in vop_del_vq() local
252 dma_unmap_single(&vpdev->dev, vdev->used[n], in vop_del_vq()
257 vpdev->hw_ops->unmap(vpdev, vdev->vr[n]); in vop_del_vq()
304 struct vop_device *vpdev = vdev->vpdev; in vop_find_vq() local
325 va = vpdev->hw_ops->remap(vpdev, le64_to_cpu(config.address), vr_size); in vop_find_vq()
360 vdev->used[index] = dma_map_single(&vpdev->dev, used, in vop_find_vq()
363 if (dma_mapping_error(&vpdev->dev, vdev->used[index])) { in vop_find_vq()
379 vpdev->hw_ops->unmap(vpdev, vdev->vr[index]); in vop_find_vq()
390 struct vop_device *vpdev = vdev->vpdev; in vop_find_vqs() local
419 vpdev->hw_ops->send_intr(vpdev, vdev->c2h_vdev_db); in vop_find_vqs()
456 struct vop_device *vpdev = vdev->vpdev; in vop_virtio_intr_handler() local
459 vpdev->hw_ops->ack_interrupt(vpdev, vdev->h2c_vdev_db); in vop_virtio_intr_handler()
481 unsigned int offset, struct vop_device *vpdev, in _vop_add_device() argument
492 vdev->vpdev = vpdev; in _vop_add_device()
493 vdev->vdev.dev.parent = &vpdev->dev; in _vop_add_device()
503 vdev->h2c_vdev_db = vpdev->hw_ops->next_db(vpdev); in _vop_add_device()
504 vdev->virtio_cookie = vpdev->hw_ops->request_irq(vpdev, in _vop_add_device()
529 vpdev->hw_ops->free_irq(vpdev, vdev->virtio_cookie, vdev); in _vop_add_device()
556 struct vop_device *vpdev) in _vop_handle_config_change() argument
565 dev_dbg(&vpdev->dev, "%s %d\n", __func__, __LINE__); in _vop_handle_config_change()
575 unsigned int offset, struct vop_device *vpdev) in _vop_remove_device() argument
586 dev_dbg(&vpdev->dev, in _vop_remove_device()
593 vpdev->hw_ops->free_irq(vpdev, vdev->virtio_cookie, vdev); in _vop_remove_device()
599 dev_dbg(&vpdev->dev, "%s %d guest_ack %d\n", in _vop_remove_device()
609 static void _vop_scan_devices(void __iomem *dp, struct vop_device *vpdev, in _vop_scan_devices() argument
639 dev = device_find_child(&vpdev->dev, (void __force *)d, in _vop_scan_devices()
646 _vop_handle_config_change(d, i, vpdev); in _vop_scan_devices()
647 ret = _vop_remove_device(d, i, vpdev); in _vop_scan_devices()
656 dev_dbg(&vpdev->dev, "%s %d Adding new virtio device %p\n", in _vop_scan_devices()
659 _vop_add_device(d, i, vpdev, dnode); in _vop_scan_devices()
664 struct vop_device *vpdev, bool remove) in vop_scan_devices() argument
666 void __iomem *dp = vpdev->hw_ops->get_remote_dp(vpdev); in vop_scan_devices()
671 _vop_scan_devices(dp, vpdev, remove, vpdev->dnode); in vop_scan_devices()
683 vop_scan_devices(vi, vi->vpdev, !REMOVE_DEVICES); in vop_hotplug_devices()
693 struct vop_device *vpdev = vi->vpdev; in vop_extint_handler() local
695 bp = vpdev->hw_ops->get_remote_dp(vpdev); in vop_extint_handler()
696 dev_dbg(&vpdev->dev, "%s %d hotplug work\n", in vop_extint_handler()
698 vpdev->hw_ops->ack_interrupt(vpdev, ioread8(&bp->h2c_config_db)); in vop_extint_handler()
703 static int vop_driver_probe(struct vop_device *vpdev) in vop_driver_probe() argument
713 dev_set_drvdata(&vpdev->dev, vi); in vop_driver_probe()
714 vi->vpdev = vpdev; in vop_driver_probe()
718 if (vpdev->dnode) { in vop_driver_probe()
725 vop_scan_devices(vi, vpdev, !REMOVE_DEVICES); in vop_driver_probe()
727 vi->h2c_config_db = vpdev->hw_ops->next_db(vpdev); in vop_driver_probe()
728 vi->cookie = vpdev->hw_ops->request_irq(vpdev, in vop_driver_probe()
736 bootparam = vpdev->hw_ops->get_remote_dp(vpdev); in vop_driver_probe()
747 static void vop_driver_remove(struct vop_device *vpdev) in vop_driver_remove() argument
749 struct vop_info *vi = dev_get_drvdata(&vpdev->dev); in vop_driver_remove()
751 if (vpdev->dnode) { in vop_driver_remove()
755 vpdev->hw_ops->get_remote_dp(vpdev); in vop_driver_remove()
758 vpdev->hw_ops->free_irq(vpdev, vi->cookie, vi); in vop_driver_remove()
760 vop_scan_devices(vi, vpdev, REMOVE_DEVICES); in vop_driver_remove()