Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf

From: Gerd Hoffmann
Date: Thu May 11 2017 - 09:28:02 EST


Hi,

> While read the framebuffer region we have to tell the vendor driver which framebuffer we want to read? There are two framebuffers now in KVMGT that is primary and cursor.
> There are two methods to implement this:
> 1) write the plane id first and then read the framebuffer.
> 2) create 2 vfio regions one for primary and one for cursor.

(3) Place information for both planes into one vfio region.
Which allows to fetch both with a single read() syscall.

The question is how you'll get the file descriptor then. If the ioctl
returns the dma-buf fd only you have a racy interface: Things can
change between read(vfio-region) and ioctl(need-dmabuf-fd).

ioctl(need-dma-buf) could return both dmabuf fd and plane info to fix
the race, but then it is easier to go with ioctl only interface (simliar
to the orginal one from dec last year) I think.

cheers,
Gerd