> -----Original Message----- > From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@xxxxxxxxxxxxxxxxxxxxx] On > Behalf Of Gerd Hoffmann > Sent: Tuesday, November 7, 2017 4:03 PM > To: Zhang, Tina <tina.zhang@xxxxxxxxx>; alex.williamson@xxxxxxxxxx; > chris@xxxxxxxxxxxxxxxxxx; joonas.lahtinen@xxxxxxxxxxxxxxx; > zhenyuw@xxxxxxxxxxxxxxx; Lv, Zhiyuan <zhiyuan.lv@xxxxxxxxx>; Wang, Zhi A > <zhi.a.wang@xxxxxxxxx>; Tian, Kevin <kevin.tian@xxxxxxxxx>; daniel@xxxxxxxx; > kwankhede@xxxxxxxxxx > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; > intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation > > Hi, > > > > Add a head field here? People asked @ kvm forum about multihead > > > support. > > > Even if the initial driver version doesn't support it we could add a > > > field so it becomes easier to add it at some point in the future. > > > > > > Probing for available heads could be done with the PROBE flag, i.e. > > > flags = PROBE | DMABUF, plane_type = PRIMARY, head = 0, 1, ... > > > > Does the multihead mean multiple display monitor? So each head can > > have its own one primary plane, one cursor plane and maybe some sprite > > planes if supported. > > Yes and yes. > > > And the flow could be like this: > > 1) flags = PROBE | DMABUF, then return the number of heads in > > vfio_device_gfx_plane_info.head. > > I'd suggest to use { .flags = PROBE | DMABUF, .head = 0 } to check whenever > dmabuf is supported for head 0, then { .flags = PROBE | DMABUF, .head = 1 } to > check for head 1 support, ... > > Driver returns success if the head is supported and -EINVAL otherwise, simliar to > the dmabuf vs. region probing. > > It is less confusing because .head is always an input field then. > > It is also a bit more flexible because different heads can support different modes > (I don't expect drivers will actually use that though). > > > 2) flags = DMABUF with plane_type = PRIMARY, head = 0, 1, ..., then > > return the id of the exposed framebuffer of that head. > > Yes. > > > Another question is if the sprite plane is supported, how we're going > > to identify them, as there could be several sprite planes for one > > display monitor. > > Do you mean DRM_PLANE_TYPE_OVERLAY? Yes. > > > Add another field "num_plane" for it? Then, I guess the flow could be > > like this: > > 1) flags = PROBE | DMABUF, then return the number of heads in > > vfio_device_gfx_plane_info.head. > > 2) flags = PROBE | DMABUF and head = 0, 1, ..., and plane_type = > > PRIMARY/CURSOR/SPRITE, then return the num_plane. > > I'd suggest to do it simliar to the head probe outlined above, i.e. > userspace calls { .flags = PROBE | DMABUF, .head = 0, .plane_type = OVERLAY, > plane_num = 0, 1, 2, ... } and the driver returns -EINVAL or 0 depending on > whenever it is supported or not. Agree. Thanks. BR, Tina > > 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