From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH 1/1] cameraif: add ABI for para-virtual camera Date: Mon, 3 Sep 2018 13:16:36 +0300 Message-ID: <345d7ec3-3ca3-e8fe-28a0-ba299196b5e4@gmail.com> References: <20180731093142.3828-1-andr2000@gmail.com> <20180731093142.3828-2-andr2000@gmail.com> <99cd131d-85ae-bbfb-61ef-fdc0401727f6@suse.com> <5505e5af-5b64-b317-a0d8-09c11317926f@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fwluU-0000TV-Ae for xen-devel@lists.xenproject.org; Mon, 03 Sep 2018 10:16:42 +0000 Received: by mail-lf1-x144.google.com with SMTP id x207-v6so57708lff.3 for ; Mon, 03 Sep 2018 03:16:40 -0700 (PDT) In-Reply-To: <5505e5af-5b64-b317-a0d8-09c11317926f@gmail.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Juergen Gross , xen-devel@lists.xenproject.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@linux.intel.com, koji.matsuoka.xm@renesas.com Cc: Oleksandr Andrushchenko List-Id: xen-devel@lists.xenproject.org T24gMDgvMjEvMjAxOCAwODo1NCBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4g T24gMDgvMTQvMjAxOCAxMTozMCBBTSwgSnVlcmdlbiBHcm9zcyB3cm90ZToKPj4gT24gMzEvMDcv MTggMTE6MzEsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+Pj4gRnJvbTogT2xla3Nh bmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPgo+Pj4K Pj4+IFRoaXMgaXMgdGhlIEFCSSBmb3IgdGhlIHR3byBoYWx2ZXMgb2YgYSBwYXJhLXZpcnR1YWxp emVkCj4+PiBjYW1lcmEgZHJpdmVyIHdoaWNoIGV4dGVuZHMgWGVuJ3MgcmVhY2ggbXVsdGltZWRp YSBjYXBhYmlsaXRpZXMgZXZlbgo+Pj4gZmFydGhlciBlbmFibGluZyBpdCBmb3IgdmlkZW8gY29u ZmVyZW5jaW5nLCBJbi1WZWhpY2xlIEluZm90YWlubWVudCwKPj4+IGhpZ2ggZGVmaW5pdGlvbiBt YXBzIGV0Yy4KPj4+Cj4+PiBUaGUgaW5pdGlhbCBnb2FsIGlzIHRvIHN1cHBvcnQgbW9zdCBuZWVk ZWQgZnVuY3Rpb25hbGl0eSB3aXRoIHRoZQo+Pj4gZmluYWwgaWRlYSB0byBtYWtlIGl0IHBvc3Np YmxlIHRvIGV4dGVuZCB0aGUgcHJvdG9jb2wgaWYgbmVlZCBiZToKPj4+Cj4+PiAxLiBQcm92aWRl IG1lYW5zIGZvciBiYXNlIHZpcnR1YWwgZGV2aWNlIGNvbmZpZ3VyYXRpb246Cj4+PiDCoCAtIHBp eGVsIGZvcm1hdHMKPj4+IMKgIC0gcmVzb2x1dGlvbnMKPj4+IMKgIC0gZnJhbWUgcmF0ZXMKPj4+ IDIuIFN1cHBvcnQgYmFzaWMgY2FtZXJhIGNvbnRyb2xzOgo+Pj4gwqAgLSBjb250cmFzdAo+Pj4g wqAgLSBicmlnaHRuZXNzCj4+PiDCoCAtIGh1ZQo+Pj4gwqAgLSBzYXR1cmF0aW9uCj4+PiAzLiBT dXBwb3J0IHN0cmVhbWluZyBjb250cm9sCj4+PiA0LiBTdXBwb3J0IHplcm8tY29weWluZyB1c2Ut Y2FzZXMKPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyAKPj4+ IDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KPj4gU29tZSBzdHlsZSBpc3N1ZXMg YmVsb3cuLi4KPiBXaWxsIGZpeCBhbGwgdGhlIGJlbG93LCB0aGFuayB5b3UhCj4KPiBJIHdvdWxk IGxpa2UgdG8gZHJhdyBzb21lIGF0dGVudGlvbiBvZiB0aGUgTGludXgvVjRMIGNvbW11bml0eSB0 byB0aGlzCj4gcHJvdG9jb2wgYXMgdGhlIHBsYW4gaXMgdGhhdCBvbmNlIGl0IGlzIGFjY2VwdGVk IGZvciBYZW4gd2UgcGxhbiB0bwo+IHVwc3RyZWFtIGEgTGludXggY2FtZXJhIGZyb250LWVuZCBr ZXJuZWwgZHJpdmVyIHdoaWNoIHdpbGwgYmUgYmFzZWQKPiBvbiB0aGlzIHdvcmsgYW5kIHdpbGwg YmUgYSBWNEwyIGRldmljZSBkcml2ZXIgKHRoaXMgaXMgd2h5IEkgaGF2ZSBzZW50Cj4gdGhpcyBw YXRjaCBub3Qgb25seSB0byBYZW4sIGJ1dCB0byB0aGUgY29ycmVzcG9uZGluZyBMaW51eCBtYWls aW5nIGxpc3QKPiBhcyB3ZWxsKQpwaW5nCj4KPj4+IC0tLQo+Pj4gwqAgeGVuL2luY2x1ZGUvcHVi bGljL2lvL2NhbWVyYWlmLmggfCA5ODEgCj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4+PiDCoCAxIGZpbGUgY2hhbmdlZCwgOTgxIGluc2VydGlvbnMoKykKPj4+IMKgIGNyZWF0 ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9wdWJsaWMvaW8vY2FtZXJhaWYuaAo+Pj4KPj4+IGRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vY2FtZXJhaWYuaCAKPj4+IGIveGVuL2lu Y2x1ZGUvcHVibGljL2lvL2NhbWVyYWlmLmgKPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+PiBp bmRleCAwMDAwMDAwMDAwMDAuLmJkYzZhMTI2MmZjZgo+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4gKysr IGIveGVuL2luY2x1ZGUvcHVibGljL2lvL2NhbWVyYWlmLmgKPj4+ICtzdHJ1Y3QgeGVuY2FtZXJh X2NvbmZpZyB7Cj4+PiArwqDCoMKgIHVpbnQzMl90IHBpeGVsX2Zvcm1hdDsKPj4+ICvCoMKgwqAg dWludDMyX3Qgd2lkdGg7Cj4+PiArwqDCoMKgIHVpbnQzMl90IGhlaWdodDsKPj4+ICvCoMKgwqAg dWludDMyX3QgZnJhbWVfcmF0ZV9ub207Cj4+PiArwqDCoMKgIHVpbnQzMl90IGZyYW1lX3JhdGVf ZGVub207Cj4+PiArwqDCoMKgIHVpbnQ4X3QgbnVtX2J1ZnM7Cj4+IEFkZCBleHBsaWNpdCBwYWRk aW5nPwo+Pgo+Pj4gK307Cj4+PiArc3RydWN0IHhlbmNhbWVyYV9yZXEgewo+Pj4gK8KgwqDCoCB1 aW50MTZfdCBpZDsKPj4+ICvCoMKgwqAgdWludDhfdCBvcGVyYXRpb247Cj4+PiArwqDCoMKgIHVp bnQ4X3QgcmVzZXJ2ZWRbNV07Cj4+PiArwqDCoMKgIHVuaW9uIHsKPj4+ICvCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgeGVuY2FtZXJhX2NvbmZpZyBjb25maWc7Cj4+PiArwqDCoMKgwqDCoMKgwqAgc3Ry dWN0IHhlbmNhbWVyYV9idWZfY3JlYXRlX3JlcSBidWZfY3JlYXRlOwo+Pj4gK8KgwqDCoCBzdHJ1 Y3QgeGVuY2FtZXJhX2J1Zl9kZXN0cm95X3JlcSBidWZfZGVzdHJveTsKPj4+ICvCoMKgwqAgc3Ry dWN0IHhlbmNhbWVyYV9zZXRfY3RybF9yZXEgc2V0X2N0cmw7Cj4+IE5vIHRhYnMsIHBsZWFzZS4K Pj4KPj4+ICvCoMKgwqDCoMKgwqDCoCB1aW50OF90IHJlc2VydmVkWzU2XTsKPj4+ICvCoMKgwqAg fSByZXE7Cj4+PiArfTsKPj4+ICsKPj4+ICtzdHJ1Y3QgeGVuY2FtZXJhX3Jlc3Agewo+Pj4gK8Kg wqDCoCB1aW50MTZfdCBpZDsKPj4+ICvCoMKgwqAgdWludDhfdCBvcGVyYXRpb247Cj4+PiArwqDC oMKgIHVpbnQ4X3QgcmVzZXJ2ZWQ7Cj4+PiArwqDCoMKgIGludDMyX3Qgc3RhdHVzOwo+Pj4gK8Kg wqDCoCB1bmlvbiB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IHhlbmNhbWVyYV9jb25maWcg Y29uZmlnOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIHN0cnVjdCB4ZW5jYW1lcmFfYnVmX2RldGFpbHNf cmVzcCBidWZfZGV0YWlsczsKPj4+ICvCoMKgwqAgc3RydWN0IHhlbmNhbWVyYV9nZXRfY3RybF9k ZXRhaWxzX3Jlc3AgY3RybF9kZXRhaWxzOwo+PiBUYWIgYWdhaW4uCj4+Cj4+PiArwqDCoMKgwqDC oMKgwqAgdWludDhfdCByZXNlcnZlZDFbNTZdOwo+Pj4gK8KgwqDCoCB9IHJlc3A7Cj4+PiArfTsK Pj4KPj4gSnVlcmdlbgo+IFRoYW5rIHlvdSwKPiBPbGVrc2FuZHIKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-lf1-f68.google.com ([209.85.167.68]:46331 "EHLO mail-lf1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727466AbeICOgJ (ORCPT ); Mon, 3 Sep 2018 10:36:09 -0400 Received: by mail-lf1-f68.google.com with SMTP id e23-v6so12094lfc.13 for ; Mon, 03 Sep 2018 03:16:39 -0700 (PDT) Subject: Re: [Xen-devel][PATCH 1/1] cameraif: add ABI for para-virtual camera From: Oleksandr Andrushchenko To: Juergen Gross , xen-devel@lists.xenproject.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@linux.intel.com, koji.matsuoka.xm@renesas.com Cc: Oleksandr Andrushchenko References: <20180731093142.3828-1-andr2000@gmail.com> <20180731093142.3828-2-andr2000@gmail.com> <99cd131d-85ae-bbfb-61ef-fdc0401727f6@suse.com> <5505e5af-5b64-b317-a0d8-09c11317926f@gmail.com> Message-ID: <345d7ec3-3ca3-e8fe-28a0-ba299196b5e4@gmail.com> Date: Mon, 3 Sep 2018 13:16:36 +0300 MIME-Version: 1.0 In-Reply-To: <5505e5af-5b64-b317-a0d8-09c11317926f@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-media-owner@vger.kernel.org List-ID: On 08/21/2018 08:54 AM, Oleksandr Andrushchenko wrote: > On 08/14/2018 11:30 AM, Juergen Gross wrote: >> On 31/07/18 11:31, Oleksandr Andrushchenko wrote: >>> From: Oleksandr Andrushchenko >>> >>> This is the ABI for the two halves of a para-virtualized >>> camera driver which extends Xen's reach multimedia capabilities even >>> farther enabling it for video conferencing, In-Vehicle Infotainment, >>> high definition maps etc. >>> >>> The initial goal is to support most needed functionality with the >>> final idea to make it possible to extend the protocol if need be: >>> >>> 1. Provide means for base virtual device configuration: >>>   - pixel formats >>>   - resolutions >>>   - frame rates >>> 2. Support basic camera controls: >>>   - contrast >>>   - brightness >>>   - hue >>>   - saturation >>> 3. Support streaming control >>> 4. Support zero-copying use-cases >>> >>> Signed-off-by: Oleksandr Andrushchenko >>> >> Some style issues below... > Will fix all the below, thank you! > > I would like to draw some attention of the Linux/V4L community to this > protocol as the plan is that once it is accepted for Xen we plan to > upstream a Linux camera front-end kernel driver which will be based > on this work and will be a V4L2 device driver (this is why I have sent > this patch not only to Xen, but to the corresponding Linux mailing list > as well) ping > >>> --- >>>   xen/include/public/io/cameraif.h | 981 >>> +++++++++++++++++++++++++++++++ >>>   1 file changed, 981 insertions(+) >>>   create mode 100644 xen/include/public/io/cameraif.h >>> >>> diff --git a/xen/include/public/io/cameraif.h >>> b/xen/include/public/io/cameraif.h >>> new file mode 100644 >>> index 000000000000..bdc6a1262fcf >>> --- /dev/null >>> +++ b/xen/include/public/io/cameraif.h >>> +struct xencamera_config { >>> +    uint32_t pixel_format; >>> +    uint32_t width; >>> +    uint32_t height; >>> +    uint32_t frame_rate_nom; >>> +    uint32_t frame_rate_denom; >>> +    uint8_t num_bufs; >> Add explicit padding? >> >>> +}; >>> +struct xencamera_req { >>> +    uint16_t id; >>> +    uint8_t operation; >>> +    uint8_t reserved[5]; >>> +    union { >>> +        struct xencamera_config config; >>> +        struct xencamera_buf_create_req buf_create; >>> +    struct xencamera_buf_destroy_req buf_destroy; >>> +    struct xencamera_set_ctrl_req set_ctrl; >> No tabs, please. >> >>> +        uint8_t reserved[56]; >>> +    } req; >>> +}; >>> + >>> +struct xencamera_resp { >>> +    uint16_t id; >>> +    uint8_t operation; >>> +    uint8_t reserved; >>> +    int32_t status; >>> +    union { >>> +        struct xencamera_config config; >>> +        struct xencamera_buf_details_resp buf_details; >>> +    struct xencamera_get_ctrl_details_resp ctrl_details; >> Tab again. >> >>> +        uint8_t reserved1[56]; >>> +    } resp; >>> +}; >> >> Juergen > Thank you, > Oleksandr