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