RE: [PATCH v17 5/6] vfio: ABI for mdev display dma-buf operation

From: Zhang, Tina
Date: Fri Nov 10 2017 - 21:04:19 EST




> -----Original Message-----
> From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@xxxxxxxxxxxxxxxxxxxxx] On
> Behalf Of Gerd Hoffmann
> Sent: Friday, November 10, 2017 3:03 PM
> To: Alex Williamson <alex.williamson@xxxxxxxxxx>
> Cc: Tian, Kevin <kevin.tian@xxxxxxxxx>; Yuan, Hang <hang.yuan@xxxxxxxxx>;
> Daniel Vetter <daniel.vetter@xxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx;
> joonas.lahtinen@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> zhenyuw@xxxxxxxxxxxxxxx; chris@xxxxxxxxxxxxxxxxxx; kwankhede@xxxxxxxxxx;
> Lv, Zhiyuan <zhiyuan.lv@xxxxxxxxx>; daniel@xxxxxxxx; Zhang, Tina
> <tina.zhang@xxxxxxxxx>; intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; Wang, Zhi A
> <zhi.a.wang@xxxxxxxxx>
> Subject: Re: [PATCH v17 5/6] vfio: ABI for mdev display dma-buf operation
>
> On Thu, Nov 09, 2017 at 01:54:57PM -0700, Alex Williamson wrote:
> > On Thu, 9 Nov 2017 19:35:14 +0100
> > Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote:
> >
> > > Hi,
> > >
> > > > struct vfio_device_gfx_plane_info lacks the head field we've been
> > > > discussing. Thanks,
> > >
> > > Adding multihead support turned out to not be that easy. There are
> > > corner cases like a single framebuffer spawning both heads. Also it
> > > would be useful to somehow hint to the guest which heads it should use.
> > >
> > > In short: Proper multihead support is more complex than just adding
> > > a head field for later use. So in a short private discussion with
> > > Tina we came to the conclusion that it will be better add multihead
> > > support to the API when the first driver wants use it, so we can
> > > actually test the interface and make sure we didn't miss anything.
> > > Adding a incomplete multihead API now doesn't help anybody.
> >
> > Do you think we can enable multi-head and preserve backwards
> > compatibility within this API proposed here?
>
> Yes, I think we can. Adding new fields is possible thanks to the argsz field at the
> start of the struct, so we easily add the new fields (head, framebuffer rectangle,
> whatever else is needed). If the new fields are not present the driver can simply
> assume head=0.
>
> Does the driver set argsz too? If so userspace can detect whenever the driver
> supports the multihead API extension (before going to probe for
> head=1) that way. If not we probably need an additional probe flag for that.
> But in any case I'm confident this is solvable.
>
> Passing hints about the display configuration to the guest needs a new ioctl, so
> we don't have compatibility issues there.
Thanks. So, do we all agree on this? If so, the next version will be submitted soon
with some updated comments.
Thanks.


BR,
Tina
>
> cheers,
> Gerd
>
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev