From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753532AbdKGFoe (ORCPT ); Tue, 7 Nov 2017 00:44:34 -0500 Received: from mga09.intel.com ([134.134.136.24]:8735 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751386AbdKGFod (ORCPT ); Tue, 7 Nov 2017 00:44:33 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,356,1505804400"; d="scan'208";a="1639915" From: "Zhang, Tina" To: Gerd Hoffmann , "alex.williamson@redhat.com" , "chris@chris-wilson.co.uk" , "joonas.lahtinen@linux.intel.com" , "zhenyuw@linux.intel.com" , "Lv, Zhiyuan" , "Wang, Zhi A" , "Tian, Kevin" , "daniel@ffwll.ch" , "kwankhede@nvidia.com" CC: Daniel Vetter , "intel-gfx@lists.freedesktop.org" , "intel-gvt-dev@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation Thread-Topic: [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation Thread-Index: AQHTVqZ58nX7SV9W3UCmf5xtRs7vtKMGiD6AgAHVpBA= Date: Tue, 7 Nov 2017 05:44:28 +0000 Message-ID: <237F54289DF84E4997F34151298ABEBC7C626C77@SHSMSX101.ccr.corp.intel.com> References: <1509934758-5003-1-git-send-email-tina.zhang@intel.com> <1509934758-5003-6-git-send-email-tina.zhang@intel.com> <1509958887.30277.4.camel@redhat.com> In-Reply-To: <1509958887.30277.4.camel@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTEzYTNlYjgtZDM3ZC00ZWRhLTgzOWEtZDkyNzE4OTk0ZGMwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiI3MldiWm1udEY5YzB4dkdZdExDNGNtNHU5WVVaVmlRSnJJUXo2dDg4a0ZKTXMydnhocjBVdTRiVnUrWktDXC9yRiJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id vA75ichx002662 > -----Original Message----- > From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@lists.freedesktop.org] On > Behalf Of Gerd Hoffmann > Sent: Monday, November 6, 2017 5:01 PM > To: Zhang, Tina ; alex.williamson@redhat.com; > chris@chris-wilson.co.uk; joonas.lahtinen@linux.intel.com; > zhenyuw@linux.intel.com; Lv, Zhiyuan ; Wang, Zhi A > ; Tian, Kevin ; daniel@ffwll.ch; > kwankhede@nvidia.com > Cc: Daniel Vetter ; intel-gfx@lists.freedesktop.org; > intel-gvt-dev@lists.freedesktop.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation > > Hi, > > > +/** > > + * VFIO_DEVICE_QUERY_GFX_PLANE - _IOW(VFIO_TYPE, VFIO_BASE + 14, > > + *                                    struct > > vfio_device_query_gfx_plane) > > + * > > + * Set the drm_plane_type and flags, then retrieve the gfx plane > > info. > > + * > > + * flags supported: > > + * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_DMABUF > are > > set > > + *   to ask if the mdev supports dma-buf. 0 on support, -EINVAL on > > no > > + *   support for dma-buf. > > + * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_REGION > are > > set > > + *   to ask if the mdev supports region. 0 on support, -EINVAL on no > > + *   support for region. > > + * - VFIO_GFX_PLANE_TYPE_DMABUF or VFIO_GFX_PLANE_TYPE_REGION > is set > > + *   with each call to query the plane info. > > + * - Others are invalid and return -EINVAL. > > + * > > + * Return: 0 on success, -ENODEV with all out fields zero on mdev > > + * device initialization, -errno on other failure. > > Should also not here that it is not an error if the guest has not defined a plane > yet. The ioctl should return success in that case and zero-initialize plane info > (drm_format + size + width + height fields). Indeed. I just need to update the comments, as this version is implemented with this in mind. Thanks. > > > + */ > > +struct vfio_device_gfx_plane_info { > > + __u32 argsz; > > + __u32 flags; > > +#define VFIO_GFX_PLANE_TYPE_PROBE (1 << 0) #define > > +VFIO_GFX_PLANE_TYPE_DMABUF (1 << 1) #define > > +VFIO_GFX_PLANE_TYPE_REGION (1 << 2) > > + /* in */ > > + __u32 drm_plane_type; /* type of plane: > > DRM_PLANE_TYPE_* */ > > 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. And 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 = DMABUF with plane_type = PRIMARY, head = 0, 1, ..., then return the id of the exposed framebuffer of that head. Am I correct? 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. 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. 3) flags = DMABUF with plane_type = PRIMARY, head = 0, 1, ..., num_plane =0, 1, ..., then return the id of the exposed framebuffer of that head. Does it make sense? Thanks. > > > + __u32 x_hot;    /* horizontal position of cursor hotspot */ > > + __u32 y_hot;    /* vertical position of cursor hotspot */ > > Needs documentation how the driver signals "no hotspot information available" > (using 0xffffffff for example). This version has implemented this. I will update the comments. Thanks. BR, Tina > > cheers, > Gerd > > _______________________________________________ > intel-gvt-dev mailing list > intel-gvt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Tina" Subject: Re: [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation Date: Tue, 7 Nov 2017 05:44:28 +0000 Message-ID: <237F54289DF84E4997F34151298ABEBC7C626C77@SHSMSX101.ccr.corp.intel.com> References: <1509934758-5003-1-git-send-email-tina.zhang@intel.com> <1509934758-5003-6-git-send-email-tina.zhang@intel.com> <1509958887.30277.4.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1509958887.30277.4.camel@redhat.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Gerd Hoffmann , "alex.williamson@redhat.com" , "chris@chris-wilson.co.uk" , "joonas.lahtinen@linux.intel.com" , "zhenyuw@linux.intel.com" , "Lv, Zhiyuan" , "Wang, Zhi A" , "Tian, Kevin" , "daniel@ffwll.ch" , "kwankhede@nvidia.com" Cc: Daniel Vetter , "intel-gfx@lists.freedesktop.org" , "intel-gvt-dev@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" List-Id: intel-gfx@lists.freedesktop.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogaW50ZWwtZ3Z0LWRldiBb bWFpbHRvOmludGVsLWd2dC1kZXYtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uDQo+ IEJlaGFsZiBPZiBHZXJkIEhvZmZtYW5uDQo+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgNiwgMjAx NyA1OjAxIFBNDQo+IFRvOiBaaGFuZywgVGluYSA8dGluYS56aGFuZ0BpbnRlbC5jb20+OyBhbGV4 LndpbGxpYW1zb25AcmVkaGF0LmNvbTsNCj4gY2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrOyBqb29u YXMubGFodGluZW5AbGludXguaW50ZWwuY29tOw0KPiB6aGVueXV3QGxpbnV4LmludGVsLmNvbTsg THYsIFpoaXl1YW4gPHpoaXl1YW4ubHZAaW50ZWwuY29tPjsgV2FuZywgWmhpIEENCj4gPHpoaS5h LndhbmdAaW50ZWwuY29tPjsgVGlhbiwgS2V2aW4gPGtldmluLnRpYW5AaW50ZWwuY29tPjsgZGFu aWVsQGZmd2xsLmNoOw0KPiBrd2Fua2hlZGVAbnZpZGlhLmNvbQ0KPiBDYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmc7DQo+IGludGVsLWd2dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBsaW51eC1rZXJuZWxA dmdlci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjE2IDUvNl0gdmZpbzogQUJJ IGZvciBtZGV2IGRpc3BsYXkgZG1hLWJ1ZiBvcGVyYXRpb24NCj4gDQo+ICAgSGksDQo+IA0KPiA+ ICsvKioNCj4gPiArICogVkZJT19ERVZJQ0VfUVVFUllfR0ZYX1BMQU5FIC0gX0lPVyhWRklPX1RZ UEUsIFZGSU9fQkFTRSArIDE0LA0KPiA+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdA0KPiA+IHZm aW9fZGV2aWNlX3F1ZXJ5X2dmeF9wbGFuZSkNCj4gPiArICoNCj4gPiArICogU2V0IHRoZSBkcm1f cGxhbmVfdHlwZSBhbmQgZmxhZ3MsIHRoZW4gcmV0cmlldmUgdGhlIGdmeCBwbGFuZQ0KPiA+IGlu Zm8uDQo+ID4gKyAqDQo+ID4gKyAqIGZsYWdzIHN1cHBvcnRlZDoNCj4gPiArICogLSBWRklPX0dG WF9QTEFORV9UWVBFX1BST0JFIGFuZCBWRklPX0dGWF9QTEFORV9UWVBFX0RNQUJVRg0KPiBhcmUN Cj4gPiBzZXQNCj4gPiArICrCoMKgwqB0byBhc2sgaWYgdGhlIG1kZXYgc3VwcG9ydHMgZG1hLWJ1 Zi4gMCBvbiBzdXBwb3J0LCAtRUlOVkFMIG9uDQo+ID4gbm8NCj4gPiArICrCoMKgwqBzdXBwb3J0 IGZvciBkbWEtYnVmLg0KPiA+ICsgKiAtIFZGSU9fR0ZYX1BMQU5FX1RZUEVfUFJPQkUgYW5kIFZG SU9fR0ZYX1BMQU5FX1RZUEVfUkVHSU9ODQo+IGFyZQ0KPiA+IHNldA0KPiA+ICsgKsKgwqDCoHRv IGFzayBpZiB0aGUgbWRldiBzdXBwb3J0cyByZWdpb24uIDAgb24gc3VwcG9ydCwgLUVJTlZBTCBv biBubw0KPiA+ICsgKsKgwqDCoHN1cHBvcnQgZm9yIHJlZ2lvbi4NCj4gPiArICogLSBWRklPX0dG WF9QTEFORV9UWVBFX0RNQUJVRiBvciBWRklPX0dGWF9QTEFORV9UWVBFX1JFR0lPTg0KPiBpcyBz ZXQNCj4gPiArICrCoMKgwqB3aXRoIGVhY2ggY2FsbCB0byBxdWVyeSB0aGUgcGxhbmUgaW5mby4N Cj4gPiArICogLSBPdGhlcnMgYXJlIGludmFsaWQgYW5kIHJldHVybiAtRUlOVkFMLg0KPiA+ICsg Kg0KPiA+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgLUVOT0RFViB3aXRoIGFsbCBvdXQgZmll bGRzIHplcm8gb24gbWRldg0KPiA+ICsgKiBkZXZpY2UgaW5pdGlhbGl6YXRpb24sIC1lcnJubyBv biBvdGhlciBmYWlsdXJlLg0KPiANCj4gU2hvdWxkIGFsc28gbm90IGhlcmUgdGhhdCBpdCBpcyBu b3QgYW4gZXJyb3IgaWYgdGhlIGd1ZXN0IGhhcyBub3QgZGVmaW5lZCBhIHBsYW5lDQo+IHlldC4g IFRoZSBpb2N0bCBzaG91bGQgcmV0dXJuIHN1Y2Nlc3MgaW4gdGhhdCBjYXNlIGFuZCB6ZXJvLWlu aXRpYWxpemUgcGxhbmUgaW5mbw0KPiAoZHJtX2Zvcm1hdCArIHNpemUgKyB3aWR0aCArIGhlaWdo dCBmaWVsZHMpLg0KSW5kZWVkLiBJIGp1c3QgbmVlZCB0byB1cGRhdGUgdGhlIGNvbW1lbnRzLCBh cyB0aGlzIHZlcnNpb24gaXMgaW1wbGVtZW50ZWQgd2l0aCB0aGlzIGluIG1pbmQuIFRoYW5rcy4N Cg0KPiANCj4gPiArICovDQo+ID4gK3N0cnVjdCB2ZmlvX2RldmljZV9nZnhfcGxhbmVfaW5mbyB7 DQo+ID4gKwlfX3UzMiBhcmdzejsNCj4gPiArCV9fdTMyIGZsYWdzOw0KPiA+ICsjZGVmaW5lIFZG SU9fR0ZYX1BMQU5FX1RZUEVfUFJPQkUgKDEgPDwgMCkgI2RlZmluZQ0KPiA+ICtWRklPX0dGWF9Q TEFORV9UWVBFX0RNQUJVRiAoMSA8PCAxKSAjZGVmaW5lDQo+ID4gK1ZGSU9fR0ZYX1BMQU5FX1RZ UEVfUkVHSU9OICgxIDw8IDIpDQo+ID4gKwkvKiBpbiAqLw0KPiA+ICsJX191MzIgZHJtX3BsYW5l X3R5cGU7CS8qIHR5cGUgb2YgcGxhbmU6DQo+ID4gRFJNX1BMQU5FX1RZUEVfKiAqLw0KPiANCj4g QWRkIGEgaGVhZCBmaWVsZCBoZXJlPyAgUGVvcGxlIGFza2VkIEAga3ZtIGZvcnVtIGFib3V0IG11 bHRpaGVhZCBzdXBwb3J0Lg0KPiBFdmVuIGlmIHRoZSBpbml0aWFsIGRyaXZlciB2ZXJzaW9uIGRv ZXNuJ3Qgc3VwcG9ydCBpdCB3ZSBjb3VsZCBhZGQgYSBmaWVsZCBzbyBpdA0KPiBiZWNvbWVzIGVh c2llciB0byBhZGQgaXQgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLg0KPiANCj4gUHJvYmlu ZyBmb3IgYXZhaWxhYmxlIGhlYWRzIGNvdWxkIGJlIGRvbmUgd2l0aCB0aGUgUFJPQkUgZmxhZywg aS5lLg0KPiBmbGFncyA9IFBST0JFIHwgRE1BQlVGLCBwbGFuZV90eXBlID0gUFJJTUFSWSwgaGVh ZCA9IDAsIDEsIC4uLg0KRG9lcyB0aGUgbXVsdGloZWFkIG1lYW4gbXVsdGlwbGUgZGlzcGxheSBt b25pdG9yPyBTbyBlYWNoIGhlYWQgY2FuIGhhdmUgaXRzIG93biBvbmUgcHJpbWFyeSBwbGFuZSwg b25lIGN1cnNvciBwbGFuZSBhbmQgbWF5YmUgc29tZSBzcHJpdGUgcGxhbmVzIGlmIHN1cHBvcnRl ZC4NCkFuZCB0aGUgZmxvdyBjb3VsZCBiZSBsaWtlIHRoaXM6DQoxKSBmbGFncyA9IFBST0JFIHwg RE1BQlVGLCB0aGVuIHJldHVybiB0aGUgbnVtYmVyIG9mIGhlYWRzIGluIHZmaW9fZGV2aWNlX2dm eF9wbGFuZV9pbmZvLmhlYWQuDQoyKSBmbGFncyA9IERNQUJVRiB3aXRoIHBsYW5lX3R5cGUgPSBQ UklNQVJZLCBoZWFkID0gMCwgMSwgLi4uLCB0aGVuIHJldHVybiB0aGUgaWQgb2YgdGhlIGV4cG9z ZWQgZnJhbWVidWZmZXIgb2YgdGhhdCBoZWFkLg0KQW0gSSBjb3JyZWN0Pw0KDQpBbm90aGVyIHF1 ZXN0aW9uIGlzIGlmIHRoZSBzcHJpdGUgcGxhbmUgaXMgc3VwcG9ydGVkLCBob3cgd2UncmUgZ29p bmcgdG8gaWRlbnRpZnkgdGhlbSwgYXMgdGhlcmUgY291bGQgYmUgc2V2ZXJhbCBzcHJpdGUgcGxh bmVzIGZvciBvbmUgZGlzcGxheSBtb25pdG9yLg0KQWRkIGFub3RoZXIgZmllbGQgIm51bV9wbGFu ZSIgZm9yIGl0PyBUaGVuLCBJIGd1ZXNzIHRoZSBmbG93IGNvdWxkIGJlIGxpa2UgdGhpczoNCjEp IGZsYWdzID0gUFJPQkUgfCBETUFCVUYsIHRoZW4gcmV0dXJuIHRoZSBudW1iZXIgb2YgaGVhZHMg aW4gdmZpb19kZXZpY2VfZ2Z4X3BsYW5lX2luZm8uaGVhZC4NCjIpIGZsYWdzID0gUFJPQkUgfCBE TUFCVUYgYW5kIGhlYWQgPSAwLCAxLCAuLi4sIGFuZCBwbGFuZV90eXBlID0gUFJJTUFSWS9DVVJT T1IvU1BSSVRFLCB0aGVuIHJldHVybiB0aGUgbnVtX3BsYW5lLg0KMykgZmxhZ3MgPSBETUFCVUYg d2l0aCBwbGFuZV90eXBlID0gUFJJTUFSWSwgaGVhZCA9IDAsIDEsIC4uLiwgbnVtX3BsYW5lID0w LCAxLCAuLi4sIHRoZW4gcmV0dXJuIHRoZSBpZCBvZiB0aGUgZXhwb3NlZCBmcmFtZWJ1ZmZlciBv ZiB0aGF0IGhlYWQuDQpEb2VzIGl0IG1ha2Ugc2Vuc2U/DQpUaGFua3MuDQoNCj4gDQo+ID4gKwlf X3UzMiB4X2hvdDvCoMKgwqDCoC8qIGhvcml6b250YWwgcG9zaXRpb24gb2YgY3Vyc29yIGhvdHNw b3QgKi8NCj4gPiArCV9fdTMyIHlfaG90O8KgwqDCoMKgLyogdmVydGljYWwgcG9zaXRpb24gb2Yg Y3Vyc29yIGhvdHNwb3QgKi8NCj4gDQo+IE5lZWRzIGRvY3VtZW50YXRpb24gaG93IHRoZSBkcml2 ZXIgc2lnbmFscyAibm8gaG90c3BvdCBpbmZvcm1hdGlvbiBhdmFpbGFibGUiDQo+ICh1c2luZyAw eGZmZmZmZmZmIGZvciBleGFtcGxlKS4NClRoaXMgdmVyc2lvbiBoYXMgaW1wbGVtZW50ZWQgdGhp cy4gSSB3aWxsIHVwZGF0ZSB0aGUgY29tbWVudHMuDQpUaGFua3MuDQoNCkJSLA0KVGluYQ0KPiAN Cj4gY2hlZXJzLA0KPiAgIEdlcmQNCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+IGludGVsLWd2dC1kZXYgbWFpbGluZyBsaXN0DQo+IGludGVs LWd2dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ3Z0LWRldg0KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==