[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171123061232.7kfquhnlkdctfsdp@zhen-hp.sh.intel.com>
Date: Thu, 23 Nov 2017 14:12:32 +0800
From: Zhenyu Wang <zhenyuw@...ux.intel.com>
To: Gerd Hoffmann <kraxel@...hat.com>
Cc: Tina Zhang <tina.zhang@...el.com>, kevin.tian@...el.com,
linux-kernel@...r.kernel.org, intel-gfx@...ts.freedesktop.org,
joonas.lahtinen@...ux.intel.com, kwankhede@...dia.com,
zhenyuw@...ux.intel.com, chris@...is-wilson.co.uk,
alex.williamson@...hat.com, zhiyuan.lv@...el.com, daniel@...ll.ch,
hang.yuan@...el.com, intel-gvt-dev@...ts.freedesktop.org,
zhi.a.wang@...el.com
Subject: Re: [PATCH v18 0/6] drm/i915/gvt: Dma-buf support for GVT-g
On 2017.11.15 11:49:00 +0100, Gerd Hoffmann wrote:
> On Wed, Nov 15, 2017 at 05:11:49PM +0800, Tina Zhang wrote:
> > v17->v18:
> > 1) unmap vgpu's opregion when destroying vgpu.
> > 2) update comments for VFIO_DEVICE_GET_GFX_DMABUF. (Alex)
>
> > This patch set adds the dma-buf support for intel GVT-g.
> >
> > dma-buf is an uniform mechanism to share DMA buffers across different
> > devices and subsystems. dma-buf for intel GVT-g is mainly used to share
> > the vgpu's framebuffer to userspace to leverage userspace graphics stacks
> > to render the framebuffer to the display monitor.
> >
> > The main idea is that we create a gem object and set vgpu's framebuffer as
> > its backing storage. Then, export a dma-buf associated with this gem object.
> > With the fd of this dma-buf, userspace can directly handle this buffer.
> >
> > This patch set can be tried with the following example:
> > git://git.kraxel.org/qemu branch: work/intel-vgpu
> >
> > A topic branch with the latest patch set is:
> > https://github.com/intel/gvt-linux.git branch: topic/dmabuf
>
> Tested-by: Gerd Hoffmann <kraxel@...hat.com>
>
After debugging with Tina on one left race that fixed by
https://lists.freedesktop.org/archives/intel-gvt-dev/2017-November/002505.html
I still need below qemu fix for proper cursor handling, otherwise qemu
just crashed when I click in my terminal program which hides cursor then.
diff --git a/hw/vfio/display.c b/hw/vfio/display.c
index e500ec2cb1..d9a044b080 100644
--- a/hw/vfio/display.c
+++ b/hw/vfio/display.c
@@ -169,8 +169,9 @@ static void vfio_display_dmabuf_update(void *opaque)
cursor = vfio_display_get_dmabuf(vdev, DRM_PLANE_TYPE_CURSOR);
if (vdev->cursor != cursor) {
vdev->cursor = cursor;
- dpy_gl_cursor_dmabuf(vdev->display_con,
- &cursor->buf);
+ if (cursor)
+ dpy_gl_cursor_dmabuf(vdev->display_con,
+ &cursor->buf);
free_bufs = true;
}
if (cursor != NULL) {
And with these it seems pretty fine now that I'll queue them up for -next pull.
thanks
--
Open Source Technology Center, Intel ltd.
$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
Download attachment "signature.asc" of type "application/pgp-signature" (196 bytes)
Powered by blists - more mailing lists