Lines Matching defs:region
74 struct vfio_region *region);
419 void *base = vgpu->vdev.region[i].data;
422 if (pos >= vgpu->vdev.region[i].size || iswrite) {
426 count = min(count, (size_t)(vgpu->vdev.region[i].size - pos));
433 struct vfio_region *region)
443 struct vfio_edid_region *region, char *buf,
446 struct vfio_region_gfx_edid *regs = ®ion->vfio_edid_regs;
461 (u8 *)region->edid_blob,
488 gvt_vgpu_err("write read-only EDID region at offset %d\n",
499 static int handle_edid_blob(struct vfio_edid_region *region, char *buf,
502 if (offset + count > region->vfio_edid_regs.edid_size)
506 memcpy(region->edid_blob + offset, buf, count);
508 memcpy(buf, region->edid_blob + offset, count);
519 struct vfio_edid_region *region =
520 (struct vfio_edid_region *)vgpu->vdev.region[i].data;
523 if (pos < region->vfio_edid_regs.edid_offset) {
524 ret = handle_edid_regs(vgpu, region, buf, count, pos, iswrite);
527 ret = handle_edid_blob(region, buf, count, pos, iswrite);
531 gvt_vgpu_err("failed to access EDID region\n");
537 struct vfio_region *region)
539 kfree(region->data);
552 struct vfio_region *region;
554 region = krealloc(vgpu->vdev.region,
555 (vgpu->vdev.num_regions + 1) * sizeof(*region),
557 if (!region)
560 vgpu->vdev.region = region;
561 vgpu->vdev.region[vgpu->vdev.num_regions].type = type;
562 vgpu->vdev.region[vgpu->vdev.num_regions].subtype = subtype;
563 vgpu->vdev.region[vgpu->vdev.num_regions].ops = ops;
564 vgpu->vdev.region[vgpu->vdev.num_regions].size = size;
565 vgpu->vdev.region[vgpu->vdev.num_regions].flags = flags;
566 vgpu->vdev.region[vgpu->vdev.num_regions].data = data;
979 return vgpu->vdev.region[index].ops->rw(vgpu, buf, count,
1375 gvt_dbg_core("get region info bar:%d\n", info.index);
1384 gvt_dbg_core("get region info index:%d\n", info.index);
1404 info.size = vgpu->vdev.region[i].size;
1405 info.flags = vgpu->vdev.region[i].flags;
1407 cap_type.type = vgpu->vdev.region[i].type;
1408 cap_type.subtype = vgpu->vdev.region[i].subtype;
1814 if (!vgpu->vdev.region)
1818 if (vgpu->vdev.region[i].ops->release)
1819 vgpu->vdev.region[i].ops->release(vgpu,
1820 &vgpu->vdev.region[i]);
1822 kfree(vgpu->vdev.region);
1823 vgpu->vdev.region = NULL;