>-----Original Message----- >From: Gerd Hoffmann [mailto:kraxel@xxxxxxxxxx] >Sent: Tuesday, May 02, 2017 5:51 PM >To: Chen, Xiaoguang <xiaoguang.chen@xxxxxxxxx> >Cc: alex.williamson@xxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; intel-gvt- >dev@xxxxxxxxxxxxxxxxxxxxx; Wang, Zhi A <zhi.a.wang@xxxxxxxxx>; >zhenyuw@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Lv, Zhiyuan ><zhiyuan.lv@xxxxxxxxx>; Tian, Kevin <kevin.tian@xxxxxxxxx> >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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx