Lines Matching full:regions

100 	vdev->regions = kcalloc(count, sizeof(struct vfio_fsl_mc_region),  in vfio_fsl_mc_regions_init()
102 if (!vdev->regions) in vfio_fsl_mc_regions_init()
106 struct resource *res = &mc_dev->regions[i]; in vfio_fsl_mc_regions_init()
109 vdev->regions[i].addr = res->start; in vfio_fsl_mc_regions_init()
110 vdev->regions[i].size = resource_size(res); in vfio_fsl_mc_regions_init()
111 vdev->regions[i].type = mc_dev->regions[i].flags & IORESOURCE_BITS; in vfio_fsl_mc_regions_init()
113 * Only regions addressed with PAGE granularity may be in vfio_fsl_mc_regions_init()
116 if (!no_mmap && !(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_fsl_mc_regions_init()
117 !(vdev->regions[i].size & ~PAGE_MASK)) in vfio_fsl_mc_regions_init()
118 vdev->regions[i].flags |= in vfio_fsl_mc_regions_init()
120 vdev->regions[i].flags |= VFIO_REGION_INFO_FLAG_READ; in vfio_fsl_mc_regions_init()
121 if (!(mc_dev->regions[i].flags & IORESOURCE_READONLY)) in vfio_fsl_mc_regions_init()
122 vdev->regions[i].flags |= VFIO_REGION_INFO_FLAG_WRITE; in vfio_fsl_mc_regions_init()
134 iounmap(vdev->regions[i].ioaddr); in vfio_fsl_mc_regions_cleanup()
135 kfree(vdev->regions); in vfio_fsl_mc_regions_cleanup()
248 info.size = vdev->regions[info.index].size; in vfio_fsl_mc_ioctl()
249 info.flags = vdev->regions[info.index].flags; in vfio_fsl_mc_ioctl()
344 region = &vdev->regions[index]; in vfio_fsl_mc_read()
421 region = &vdev->regions[index]; in vfio_fsl_mc_write()
490 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_MMAP)) in vfio_fsl_mc_mmap()
493 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_READ) in vfio_fsl_mc_mmap()
497 if (!(vdev->regions[index].flags & VFIO_REGION_INFO_FLAG_WRITE) in vfio_fsl_mc_mmap()
503 return vfio_fsl_mc_mmap_mmio(vdev->regions[index], vma); in vfio_fsl_mc_mmap()