Hi Alex, do you have any comments for this interface? >-----Original Message----- >From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@xxxxxxxxxxxxxxxxxxxxx] On >Behalf Of Chen, Xiaoguang >Sent: Wednesday, May 03, 2017 9:39 AM >To: Gerd Hoffmann <kraxel@xxxxxxxxxx> >Cc: Tian, Kevin <kevin.tian@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; linux- >kernel@xxxxxxxxxxxxxxx; zhenyuw@xxxxxxxxxxxxxxx; alex.williamson@xxxxxxxxxx; >Lv, Zhiyuan <zhiyuan.lv@xxxxxxxxx>; intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; Wang, >Zhi A <zhi.a.wang@xxxxxxxxx> >Subject: RE: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf > > > >>-----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-gvt-dev mailing list >intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx >https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx