Lines Matching refs:vdev
38 struct virtio_device *vdev;
418 static int viommu_add_resv_mem(struct viommu_endpoint *vdev,
441 dev_warn(vdev->dev, "unknown resv mem subtype 0x%x\n",
456 list_add(®ion->list, &vdev->resv_regions);
469 struct viommu_endpoint *vdev = dev_iommu_priv_get(dev);
500 ret = viommu_add_resv_mem(vdev, (void *)prop, len);
564 struct viommu_dev *viommu = vq->vdev->priv;
610 static int viommu_domain_finalise(struct viommu_endpoint *vdev,
615 struct viommu_dev *viommu = vdev->viommu;
620 dev_err(vdev->dev,
663 struct viommu_endpoint *vdev = dev_iommu_priv_get(dev);
672 ret = viommu_domain_finalise(vdev, domain);
673 } else if (vdomain->viommu != vdev->viommu) {
692 * vdev->vdomain is protected by group->mutex
694 if (vdev->vdomain)
695 vdev->vdomain->nr_endpoints--;
721 vdev->vdomain = vdomain;
822 struct viommu_endpoint *vdev = dev_iommu_priv_get(dev);
825 list_for_each_entry(entry, &vdev->resv_regions, list) {
871 struct viommu_endpoint *vdev;
882 vdev = kzalloc(sizeof(*vdev), GFP_KERNEL);
883 if (!vdev)
886 vdev->dev = dev;
887 vdev->viommu = viommu;
888 INIT_LIST_HEAD(&vdev->resv_regions);
889 dev_iommu_priv_set(dev, vdev);
901 generic_iommu_put_resv_regions(dev, &vdev->resv_regions);
902 kfree(vdev);
910 struct viommu_endpoint *vdev;
915 vdev = dev_iommu_priv_get(dev);
917 generic_iommu_put_resv_regions(dev, &vdev->resv_regions);
918 kfree(vdev);
952 struct virtio_device *vdev = dev_to_virtio(viommu->dev);
959 return virtio_find_vqs(vdev, VIOMMU_NR_VQS, viommu->vqs, callbacks,
986 static int viommu_probe(struct virtio_device *vdev)
988 struct device *parent_dev = vdev->dev.parent;
990 struct device *dev = &vdev->dev;
995 if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1) ||
996 !virtio_has_feature(vdev, VIRTIO_IOMMU_F_MAP_UNMAP))
1006 viommu->vdev = vdev;
1013 virtio_cread_le(vdev, struct virtio_iommu_config, page_size_mask,
1025 virtio_cread_le_feature(vdev, VIRTIO_IOMMU_F_INPUT_RANGE,
1029 virtio_cread_le_feature(vdev, VIRTIO_IOMMU_F_INPUT_RANGE,
1033 virtio_cread_le_feature(vdev, VIRTIO_IOMMU_F_DOMAIN_RANGE,
1037 virtio_cread_le_feature(vdev, VIRTIO_IOMMU_F_DOMAIN_RANGE,
1041 virtio_cread_le_feature(vdev, VIRTIO_IOMMU_F_PROBE,
1051 if (virtio_has_feature(vdev, VIRTIO_IOMMU_F_MMIO))
1056 virtio_device_ready(vdev);
1064 virtio_bus_name(vdev));
1093 vdev->priv = viommu;
1105 vdev->config->del_vqs(vdev);
1110 static void viommu_remove(struct virtio_device *vdev)
1112 struct viommu_dev *viommu = vdev->priv;
1118 vdev->config->reset(vdev);
1119 vdev->config->del_vqs(vdev);
1121 dev_info(&vdev->dev, "device removed\n");
1124 static void viommu_config_changed(struct virtio_device *vdev)
1126 dev_warn(&vdev->dev, "config changed\n");