>-----Original Message----- >From: Gerd Hoffmann [mailto:kra...@redhat.com] >Sent: Tuesday, May 02, 2017 5:51 PM >To: Chen, Xiaoguang <xiaoguang.c...@intel.com> >Cc: alex.william...@redhat.com; intel-gfx@lists.freedesktop.org; intel-gvt- >d...@lists.freedesktop.org; Wang, Zhi A <zhi.a.w...@intel.com>; >zhen...@linux.intel.com; linux-ker...@vger.kernel.org; Lv, Zhiyuan ><zhiyuan...@intel.com>; Tian, Kevin <kevin.t...@intel.com> >Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf > >On Fr, 2017-04-28 at 17:35 +0800, Xiaoguang Chen wrote: >> +static size_t intel_vgpu_reg_rw_gvtg(struct intel_vgpu *vgpu, char >> *buf, >> + size_t count, loff_t *ppos, bool iswrite) { >> + unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) - >> + VFIO_PCI_NUM_REGIONS; >> + loff_t pos = *ppos & VFIO_PCI_OFFSET_MASK; >> + int fd; >> + >> + if (pos >= vgpu->vdev.region[i].size || iswrite) { >> + gvt_vgpu_err("invalid op or offset for Intel vgpu fd >> region\n"); >> + return -EINVAL; >> + } >> + >> + fd = anon_inode_getfd("gvtg", &intel_vgpu_gvtg_ops, vgpu, >> + O_RDWR | O_CLOEXEC); >> + if (fd < 0) { >> + gvt_vgpu_err("create intel vgpu fd failed:%d\n", fd); >> + return -EINVAL; >> + } >> + >> + count = min(count, (size_t)(vgpu->vdev.region[i].size - pos)); >> + memcpy(buf, &fd, count); >> + >> + return count; >> +} > >Hmm, that looks like a rather strange way to return a file descriptor. > >What is the reason to not use ioctls on the vfio file handle, like older >version of >these patches did? If I understood correctly that Alex prefer not to change the ioctls on the vfio file handle like the old version. So I used this way the smallest change to general vfio framework only adding a subregion definition.
> >cheers, > Gerd _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx