[Intel-gfx] [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf

Chen, Xiaoguang xiaoguang.chen at intel.com
Thu May 4 03:09:40 UTC 2017


Hi Alex, do you have any comments for this interface?

>-----Original Message-----
>From: intel-gvt-dev [mailto:intel-gvt-dev-bounces at lists.freedesktop.org] On
>Behalf Of Chen, Xiaoguang
>Sent: Wednesday, May 03, 2017 9:39 AM
>To: Gerd Hoffmann <kraxel at redhat.com>
>Cc: Tian, Kevin <kevin.tian at intel.com>; intel-gfx at lists.freedesktop.org; linux-
>kernel at vger.kernel.org; zhenyuw at linux.intel.com; alex.williamson at redhat.com;
>Lv, Zhiyuan <zhiyuan.lv at intel.com>; intel-gvt-dev at lists.freedesktop.org; Wang,
>Zhi A <zhi.a.wang at intel.com>
>Subject: RE: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf
>
>
>
>>-----Original Message-----
>>From: Gerd Hoffmann [mailto:kraxel at redhat.com]
>>Sent: Tuesday, May 02, 2017 5:51 PM
>>To: Chen, Xiaoguang <xiaoguang.chen at intel.com>
>>Cc: alex.williamson at redhat.com; intel-gfx at lists.freedesktop.org;
>>intel-gvt- dev at lists.freedesktop.org; Wang, Zhi A
>><zhi.a.wang at intel.com>; zhenyuw at linux.intel.com;
>>linux-kernel at vger.kernel.org; Lv, Zhiyuan <zhiyuan.lv at intel.com>; Tian,
>>Kevin <kevin.tian at 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-gvt-dev mailing list
>intel-gvt-dev at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev


More information about the Intel-gfx mailing list