Lines Matching refs:vdev

13 	struct vfio_cdx_device *vdev =  in vfio_cdx_open_device()  local
14 container_of(core_vdev, struct vfio_cdx_device, vdev); in vfio_cdx_open_device()
19 vdev->regions = kcalloc(count, sizeof(struct vfio_cdx_region), in vfio_cdx_open_device()
21 if (!vdev->regions) in vfio_cdx_open_device()
27 vdev->regions[i].addr = res->start; in vfio_cdx_open_device()
28 vdev->regions[i].size = resource_size(res); in vfio_cdx_open_device()
29 vdev->regions[i].type = res->flags; in vfio_cdx_open_device()
34 if (!(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_cdx_open_device()
35 !(vdev->regions[i].size & ~PAGE_MASK)) in vfio_cdx_open_device()
36 vdev->regions[i].flags |= in vfio_cdx_open_device()
38 vdev->regions[i].flags |= VFIO_REGION_INFO_FLAG_READ; in vfio_cdx_open_device()
40 vdev->regions[i].flags |= VFIO_REGION_INFO_FLAG_WRITE; in vfio_cdx_open_device()
48 struct vfio_cdx_device *vdev = in vfio_cdx_close_device() local
49 container_of(core_vdev, struct vfio_cdx_device, vdev); in vfio_cdx_close_device()
51 kfree(vdev->regions); in vfio_cdx_close_device()
55 static int vfio_cdx_ioctl_get_info(struct vfio_cdx_device *vdev, in vfio_cdx_ioctl_get_info() argument
59 struct cdx_device *cdx_dev = to_cdx_device(vdev->vdev.dev); in vfio_cdx_ioctl_get_info()
77 static int vfio_cdx_ioctl_get_region_info(struct vfio_cdx_device *vdev, in vfio_cdx_ioctl_get_region_info() argument
81 struct cdx_device *cdx_dev = to_cdx_device(vdev->vdev.dev); in vfio_cdx_ioctl_get_region_info()
95 info.size = vdev->regions[info.index].size; in vfio_cdx_ioctl_get_region_info()
96 info.flags = vdev->regions[info.index].flags; in vfio_cdx_ioctl_get_region_info()
104 struct vfio_cdx_device *vdev = in vfio_cdx_ioctl() local
105 container_of(core_vdev, struct vfio_cdx_device, vdev); in vfio_cdx_ioctl()
110 return vfio_cdx_ioctl_get_info(vdev, uarg); in vfio_cdx_ioctl()
112 return vfio_cdx_ioctl_get_region_info(vdev, uarg); in vfio_cdx_ioctl()
143 struct vfio_cdx_device *vdev = in vfio_cdx_mmap() local
144 container_of(core_vdev, struct vfio_cdx_device, vdev); in vfio_cdx_mmap()
153 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_MMAP)) in vfio_cdx_mmap()
156 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_READ) && in vfio_cdx_mmap()
160 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_WRITE) && in vfio_cdx_mmap()
164 return vfio_cdx_mmap_mmio(vdev->regions[index], vma); in vfio_cdx_mmap()
180 struct vfio_cdx_device *vdev; in vfio_cdx_probe() local
184 vdev = vfio_alloc_device(vfio_cdx_device, vdev, dev, in vfio_cdx_probe()
186 if (IS_ERR(vdev)) in vfio_cdx_probe()
187 return PTR_ERR(vdev); in vfio_cdx_probe()
189 ret = vfio_register_group_dev(&vdev->vdev); in vfio_cdx_probe()
193 dev_set_drvdata(dev, vdev); in vfio_cdx_probe()
197 vfio_put_device(&vdev->vdev); in vfio_cdx_probe()
204 struct vfio_cdx_device *vdev = dev_get_drvdata(dev); in vfio_cdx_remove() local
206 vfio_unregister_group_dev(&vdev->vdev); in vfio_cdx_remove()
207 vfio_put_device(&vdev->vdev); in vfio_cdx_remove()