From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A2BFC4740A for ; Mon, 7 Oct 2019 08:33:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3530620867 for ; Mon, 7 Oct 2019 08:33:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727452AbfJGIdK (ORCPT ); Mon, 7 Oct 2019 04:33:10 -0400 Received: from lb3-smtp-cloud7.xs4all.net ([194.109.24.31]:55185 "EHLO lb3-smtp-cloud7.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727201AbfJGIdK (ORCPT ); Mon, 7 Oct 2019 04:33:10 -0400 Received: from [IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8] ([IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8]) by smtp-cloud7.xs4all.net with ESMTPA id HORviKciZjZ8vHORwi5MFm; Mon, 07 Oct 2019 10:33:07 +0200 Subject: Re: [PATCH v2 3/6] media: v4l2-mem2mem: add stateless_(try_)decoder_cmd ioctl helpers To: =?UTF-8?Q?Jernej_=c5=a0krabec?= Cc: mchehab@kernel.org, paul.kocialkowski@bootlin.com, mripard@kernel.org, pawel@osciak.com, m.szyprowski@samsung.com, kyungmin.park@samsung.com, tfiga@chromium.org, wens@csie.org, gregkh@linuxfoundation.org, boris.brezillon@collabora.com, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux-arm-kernel@lists.infradead.org, ezequiel@collabora.com, jonas@kwiboo.se References: <20190929200023.215831-1-jernej.skrabec@siol.net> <20190929200023.215831-4-jernej.skrabec@siol.net> <6c7eeaf1-18bb-1c7e-7938-a3eb5af100b6@xs4all.nl> <2840939.OS9t7MgvnY@jernej-laptop> From: Hans Verkuil Message-ID: Date: Mon, 7 Oct 2019 10:32:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <2840939.OS9t7MgvnY@jernej-laptop> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4wfGHd6OSD1FLSR8tNZsbhbHQNPfX75M0V7RaZdh19iAF3oqzeutMCalTO38S5dEhgGLX4RNVSgPgzT3/UuWcy7gPiwkkXJDytiGnBYCQOsv9aYCkRfAj2 MnYF7yhdMrsRfwMYHBnn7TT/zRAtesy3YXAS248gZ38hAQybYnicKDyYEslBpaTrafJDsw7kwYi3dDSqZgVsPR3r5NKOG+bhH4pAPq2wfjxLDhcnSQUefHpl jHy7W1K6AhV1be+LnTLlP+yPDB6sMQxo3zpMvyqoNWFrO7FT4Dkzfgq4lpRWeLxSHccktEbx1Jdh70nkHglrJGvjHUaZTWjLmH3z/I6bsGQMidN4NLUX6pcm wf8Q3QejyUWYH1TsrAQ5dqw8D5ZMY2ryWhjTjrQgBynEaA7D2b7Ke9xqIZ3P8nJDLUhnV0h4XudXF3q8VCUu+wEKR4AhhpkmGvB/IlgSpGE8g5KD/qeBW/Gg tcJi6TZnMAthHh0RLe0YljVcVsszECBZhT3kJE+vFyYIButqKejfe/bTuibWqAtsUbAK8lfgxSV+/kmGGicRsX3F1TIjseu1TDf94nGT0sljSmVZRmm8oL7a gcnIlLSGO81YeTMEY93XIXNZhEEvMoafg2K8ogCL1I20mcPT8Qqf+hA3niWEV+vYC1vkI4cz9G3aaEDERofNo2CWMNgmPboc6s8im/JwDnd5J/rOPJxnRdvS RWXEKvLCLpc3Wl2wATEXIhb1K2JJBB0NIpmzQd828jZhc4AS61C4NW0/zr265E02pNE2p2TyK3UK344I3/RrFiV8HRwGjqFyXb/3IjK2c6/YUYTUb48XbSUR kijzBakVGAIeQv672mc= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/7/19 8:02 AM, Jernej Škrabec wrote: > Dne petek, 04. oktober 2019 ob 11:21:12 CEST je Hans Verkuil napisal(a): >> On 9/29/19 10:00 PM, Jernej Skrabec wrote: >>> These helpers are used by stateless codecs when they support multiple >>> slices per frame and hold capture buffer flag is set. It's expected that >>> all such codecs will use this code. >>> >>> Signed-off-by: Jernej Skrabec >>> --- >>> >>> drivers/media/v4l2-core/v4l2-mem2mem.c | 35 ++++++++++++++++++++++++++ >>> include/media/v4l2-mem2mem.h | 4 +++ >>> 2 files changed, 39 insertions(+) >>> >>> diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c >>> b/drivers/media/v4l2-core/v4l2-mem2mem.c index 19937dd3c6f6..2677a07e4c9b >>> 100644 >>> --- a/drivers/media/v4l2-core/v4l2-mem2mem.c >>> +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c >>> @@ -1154,6 +1154,41 @@ int v4l2_m2m_ioctl_try_decoder_cmd(struct file >>> *file, void *fh,> >>> } >>> EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_try_decoder_cmd); >>> >>> +int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, void *fh, >>> + struct > v4l2_decoder_cmd *dc) >>> +{ >>> + if (dc->cmd != V4L2_DEC_CMD_FLUSH) >>> + return -EINVAL; >>> + >>> + dc->flags = 0; >>> + >>> + return 0; >>> +} >>> +EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_stateless_try_decoder_cmd); >>> + >>> +int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, void *priv, >>> + struct > v4l2_decoder_cmd *dc) >>> +{ >>> + struct v4l2_fh *fh = file->private_data; >>> + struct vb2_v4l2_buffer *out_vb, *cap_vb; >>> + int ret; >>> + >>> + ret = v4l2_m2m_ioctl_stateless_try_decoder_cmd(file, priv, dc); >>> + if (ret < 0) >>> + return ret; >>> + >>> + out_vb = v4l2_m2m_last_src_buf(fh->m2m_ctx); >>> + cap_vb = v4l2_m2m_last_dst_buf(fh->m2m_ctx); >> >> I think this should be v4l2_m2m_next_dst_buf. If multiple capture buffers >> were queued up, then it can only be the first capture buffer that can be >> 'HELD'. > > I'm pretty sure v4l2_m2m_last_dst_buf() is correct. We want to affect last job > in the queue, all jobs before are already properly handled by comparing > timestamps. You're absolutely right. > >> >> This might solve the race condition you saw with ffmpeg. > > This actually doesn't change anything. ffmpeg currently queues only one job and > then waits until it's executed. In this case it actually doesn't matter if > "last" or "next" variant is used. Can you debug this a bit further? I don't want to merge this unless we know what's going wrong with ffmpeg. I suspect it is a race condition. I'll reply to patch 6/6 with more info. Regards, Hans > > Best regards, > Jernej > >> >> Regards, >> >> Hans >> >>> + >>> + if (out_vb) >>> + out_vb->flags &= ~V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF; >>> + else if (cap_vb && cap_vb->is_held) >>> + v4l2_m2m_buf_done(cap_vb, VB2_BUF_STATE_DONE); >>> + >>> + return 0; >>> +} >>> +EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_stateless_decoder_cmd); >>> + >>> >>> /* >>> >>> * v4l2_file_operations helpers. It is assumed here same lock is used >>> * for the output and the capture buffer queue. >>> >>> diff --git a/include/media/v4l2-mem2mem.h b/include/media/v4l2-mem2mem.h >>> index c9fa96c8eed1..8ae2f56c7fa3 100644 >>> --- a/include/media/v4l2-mem2mem.h >>> +++ b/include/media/v4l2-mem2mem.h >>> @@ -714,6 +714,10 @@ int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file, >>> void *fh,> >>> struct v4l2_encoder_cmd *ec); >>> >>> int v4l2_m2m_ioctl_try_decoder_cmd(struct file *file, void *fh, >>> >>> struct v4l2_decoder_cmd *dc); >>> >>> +int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, void *fh, >>> + struct > v4l2_decoder_cmd *dc); >>> +int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, void *priv, >>> + struct > v4l2_decoder_cmd *dc); >>> >>> int v4l2_m2m_fop_mmap(struct file *file, struct vm_area_struct *vma); >>> __poll_t v4l2_m2m_fop_poll(struct file *file, poll_table *wait); > > > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 269C9C4740A for ; Mon, 7 Oct 2019 08:33:15 +0000 (UTC) Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0605D2133F for ; Mon, 7 Oct 2019 08:33:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0605D2133F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xs4all.nl Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id CFC5120395; Mon, 7 Oct 2019 08:33:14 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rRYw18P6Te6F; Mon, 7 Oct 2019 08:33:13 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 2F982204E2; Mon, 7 Oct 2019 08:33:13 +0000 (UTC) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id ABD011BF85D for ; Mon, 7 Oct 2019 08:33:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id A49108798F for ; Mon, 7 Oct 2019 08:33:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wlFe4E+9yP-f for ; Mon, 7 Oct 2019 08:33:10 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from lb2-smtp-cloud7.xs4all.net (lb2-smtp-cloud7.xs4all.net [194.109.24.28]) by hemlock.osuosl.org (Postfix) with ESMTPS id C66408798B for ; Mon, 7 Oct 2019 08:33:09 +0000 (UTC) Received: from [IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8] ([IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8]) by smtp-cloud7.xs4all.net with ESMTPA id HORviKciZjZ8vHORwi5MFm; Mon, 07 Oct 2019 10:33:07 +0200 Subject: Re: [PATCH v2 3/6] media: v4l2-mem2mem: add stateless_(try_)decoder_cmd ioctl helpers To: =?UTF-8?Q?Jernej_=c5=a0krabec?= References: <20190929200023.215831-1-jernej.skrabec@siol.net> <20190929200023.215831-4-jernej.skrabec@siol.net> <6c7eeaf1-18bb-1c7e-7938-a3eb5af100b6@xs4all.nl> <2840939.OS9t7MgvnY@jernej-laptop> From: Hans Verkuil Message-ID: Date: Mon, 7 Oct 2019 10:32:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <2840939.OS9t7MgvnY@jernej-laptop> Content-Language: en-US X-CMAE-Envelope: MS4wfGHd6OSD1FLSR8tNZsbhbHQNPfX75M0V7RaZdh19iAF3oqzeutMCalTO38S5dEhgGLX4RNVSgPgzT3/UuWcy7gPiwkkXJDytiGnBYCQOsv9aYCkRfAj2 MnYF7yhdMrsRfwMYHBnn7TT/zRAtesy3YXAS248gZ38hAQybYnicKDyYEslBpaTrafJDsw7kwYi3dDSqZgVsPR3r5NKOG+bhH4pAPq2wfjxLDhcnSQUefHpl jHy7W1K6AhV1be+LnTLlP+yPDB6sMQxo3zpMvyqoNWFrO7FT4Dkzfgq4lpRWeLxSHccktEbx1Jdh70nkHglrJGvjHUaZTWjLmH3z/I6bsGQMidN4NLUX6pcm wf8Q3QejyUWYH1TsrAQ5dqw8D5ZMY2ryWhjTjrQgBynEaA7D2b7Ke9xqIZ3P8nJDLUhnV0h4XudXF3q8VCUu+wEKR4AhhpkmGvB/IlgSpGE8g5KD/qeBW/Gg tcJi6TZnMAthHh0RLe0YljVcVsszECBZhT3kJE+vFyYIButqKejfe/bTuibWqAtsUbAK8lfgxSV+/kmGGicRsX3F1TIjseu1TDf94nGT0sljSmVZRmm8oL7a gcnIlLSGO81YeTMEY93XIXNZhEEvMoafg2K8ogCL1I20mcPT8Qqf+hA3niWEV+vYC1vkI4cz9G3aaEDERofNo2CWMNgmPboc6s8im/JwDnd5J/rOPJxnRdvS RWXEKvLCLpc3Wl2wATEXIhb1K2JJBB0NIpmzQd828jZhc4AS61C4NW0/zr265E02pNE2p2TyK3UK344I3/RrFiV8HRwGjqFyXb/3IjK2c6/YUYTUb48XbSUR kijzBakVGAIeQv672mc= X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, linux-media@vger.kernel.org, pawel@osciak.com, jonas@kwiboo.se, gregkh@linuxfoundation.org, wens@csie.org, mripard@kernel.org, tfiga@chromium.org, paul.kocialkowski@bootlin.com, kyungmin.park@samsung.com, boris.brezillon@collabora.com, linux-arm-kernel@lists.infradead.org, mchehab@kernel.org, ezequiel@collabora.com, linux-kernel@vger.kernel.org, m.szyprowski@samsung.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" T24gMTAvNy8xOSA4OjAyIEFNLCBKZXJuZWogxaBrcmFiZWMgd3JvdGU6Cj4gRG5lIHBldGVrLCAw NC4gb2t0b2JlciAyMDE5IG9iIDExOjIxOjEyIENFU1QgamUgSGFucyBWZXJrdWlsIG5hcGlzYWwo YSk6Cj4+IE9uIDkvMjkvMTkgMTA6MDAgUE0sIEplcm5laiBTa3JhYmVjIHdyb3RlOgo+Pj4gVGhl c2UgaGVscGVycyBhcmUgdXNlZCBieSBzdGF0ZWxlc3MgY29kZWNzIHdoZW4gdGhleSBzdXBwb3J0 IG11bHRpcGxlCj4+PiBzbGljZXMgcGVyIGZyYW1lIGFuZCBob2xkIGNhcHR1cmUgYnVmZmVyIGZs YWcgaXMgc2V0LiBJdCdzIGV4cGVjdGVkIHRoYXQKPj4+IGFsbCBzdWNoIGNvZGVjcyB3aWxsIHVz ZSB0aGlzIGNvZGUuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogSmVybmVqIFNrcmFiZWMgPGplcm5l ai5za3JhYmVjQHNpb2wubmV0Pgo+Pj4gLS0tCj4+Pgo+Pj4gIGRyaXZlcnMvbWVkaWEvdjRsMi1j b3JlL3Y0bDItbWVtMm1lbS5jIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICBp bmNsdWRlL21lZGlhL3Y0bDItbWVtMm1lbS5oICAgICAgICAgICB8ICA0ICsrKwo+Pj4gIDIgZmls ZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL3Y0bDItY29yZS92NGwyLW1lbTJtZW0uYwo+Pj4gYi9kcml2ZXJzL21lZGlhL3Y0bDIt Y29yZS92NGwyLW1lbTJtZW0uYyBpbmRleCAxOTkzN2RkM2M2ZjYuLjI2NzdhMDdlNGM5Ygo+Pj4g MTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLW1lbTJtZW0uYwo+ Pj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1tZW0ybWVtLmMKPj4+IEBAIC0x MTU0LDYgKzExNTQsNDEgQEAgaW50IHY0bDJfbTJtX2lvY3RsX3RyeV9kZWNvZGVyX2NtZChzdHJ1 Y3QgZmlsZQo+Pj4gKmZpbGUsIHZvaWQgKmZoLD4gCj4+PiAgfQo+Pj4gIEVYUE9SVF9TWU1CT0xf R1BMKHY0bDJfbTJtX2lvY3RsX3RyeV9kZWNvZGVyX2NtZCk7Cj4+Pgo+Pj4gK2ludCB2NGwyX20y bV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lk ICpmaCwKPj4+ICsJCQkJCSAgICAgc3RydWN0IAo+IHY0bDJfZGVjb2Rlcl9jbWQgKmRjKQo+Pj4g K3sKPj4+ICsJaWYgKGRjLT5jbWQgIT0gVjRMMl9ERUNfQ01EX0ZMVVNIKQo+Pj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4+PiArCj4+PiArCWRjLT5mbGFncyA9IDA7Cj4+PiArCj4+PiArCXJldHVybiAw Owo+Pj4gK30KPj4+ICtFWFBPUlRfU1lNQk9MX0dQTCh2NGwyX20ybV9pb2N0bF9zdGF0ZWxlc3Nf dHJ5X2RlY29kZXJfY21kKTsKPj4+ICsKPj4+ICtpbnQgdjRsMl9tMm1faW9jdGxfc3RhdGVsZXNz X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LAo+Pj4gKwkJCQkJIHN0 cnVjdCAKPiB2NGwyX2RlY29kZXJfY21kICpkYykKPj4+ICt7Cj4+PiArCXN0cnVjdCB2NGwyX2Zo ICpmaCA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPj4+ICsJc3RydWN0IHZiMl92NGwyX2J1ZmZlciAq b3V0X3ZiLCAqY2FwX3ZiOwo+Pj4gKwlpbnQgcmV0Owo+Pj4gKwo+Pj4gKwlyZXQgPSB2NGwyX20y bV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKGZpbGUsIHByaXYsIGRjKTsKPj4+ICsJ aWYgKHJldCA8IDApCj4+PiArCQlyZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gKwlvdXRfdmIgPSB2NGwy X20ybV9sYXN0X3NyY19idWYoZmgtPm0ybV9jdHgpOwo+Pj4gKwljYXBfdmIgPSB2NGwyX20ybV9s YXN0X2RzdF9idWYoZmgtPm0ybV9jdHgpOwo+Pgo+PiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHY0 bDJfbTJtX25leHRfZHN0X2J1Zi4gSWYgbXVsdGlwbGUgY2FwdHVyZSBidWZmZXJzCj4+IHdlcmUg cXVldWVkIHVwLCB0aGVuIGl0IGNhbiBvbmx5IGJlIHRoZSBmaXJzdCBjYXB0dXJlIGJ1ZmZlciB0 aGF0IGNhbiBiZQo+PiAnSEVMRCcuCj4gCj4gSSdtIHByZXR0eSBzdXJlIHY0bDJfbTJtX2xhc3Rf ZHN0X2J1ZigpIGlzIGNvcnJlY3QuIFdlIHdhbnQgdG8gYWZmZWN0IGxhc3Qgam9iIAo+IGluIHRo ZSBxdWV1ZSwgYWxsIGpvYnMgYmVmb3JlIGFyZSBhbHJlYWR5IHByb3Blcmx5IGhhbmRsZWQgYnkg Y29tcGFyaW5nIAo+IHRpbWVzdGFtcHMuCgpZb3UncmUgYWJzb2x1dGVseSByaWdodC4KCj4gCj4+ Cj4+IFRoaXMgbWlnaHQgc29sdmUgdGhlIHJhY2UgY29uZGl0aW9uIHlvdSBzYXcgd2l0aCBmZm1w ZWcuCj4gCj4gVGhpcyBhY3R1YWxseSBkb2Vzbid0IGNoYW5nZSBhbnl0aGluZy4gZmZtcGVnIGN1 cnJlbnRseSBxdWV1ZXMgb25seSBvbmUgam9iIGFuZCAKPiB0aGVuIHdhaXRzIHVudGlsIGl0J3Mg ZXhlY3V0ZWQuIEluIHRoaXMgY2FzZSBpdCBhY3R1YWxseSBkb2Vzbid0IG1hdHRlciBpZiAKPiAi bGFzdCIgb3IgIm5leHQiIHZhcmlhbnQgaXMgdXNlZC4KCkNhbiB5b3UgZGVidWcgdGhpcyBhIGJp dCBmdXJ0aGVyPyBJIGRvbid0IHdhbnQgdG8gbWVyZ2UgdGhpcyB1bmxlc3Mgd2Uga25vdyB3aGF0 J3MKZ29pbmcgd3Jvbmcgd2l0aCBmZm1wZWcuCgpJIHN1c3BlY3QgaXQgaXMgYSByYWNlIGNvbmRp dGlvbi4gSSdsbCByZXBseSB0byBwYXRjaCA2LzYgd2l0aCBtb3JlIGluZm8uCgpSZWdhcmRzLAoK CUhhbnMKCj4gCj4gQmVzdCByZWdhcmRzLAo+IEplcm5lago+IAo+Pgo+PiBSZWdhcmRzLAo+Pgo+ PiAJSGFucwo+Pgo+Pj4gKwo+Pj4gKwlpZiAob3V0X3ZiKQo+Pj4gKwkJb3V0X3ZiLT5mbGFncyAm PSB+VjRMMl9CVUZfRkxBR19NMk1fSE9MRF9DQVBUVVJFX0JVRjsKPj4+ICsJZWxzZSBpZiAoY2Fw X3ZiICYmIGNhcF92Yi0+aXNfaGVsZCkKPj4+ICsJCXY0bDJfbTJtX2J1Zl9kb25lKGNhcF92Yiwg VkIyX0JVRl9TVEFURV9ET05FKTsKPj4+ICsKPj4+ICsJcmV0dXJuIDA7Cj4+PiArfQo+Pj4gK0VY UE9SVF9TWU1CT0xfR1BMKHY0bDJfbTJtX2lvY3RsX3N0YXRlbGVzc19kZWNvZGVyX2NtZCk7Cj4+ PiArCj4+Pgo+Pj4gIC8qCj4+PiAgCj4+PiAgICogdjRsMl9maWxlX29wZXJhdGlvbnMgaGVscGVy cy4gSXQgaXMgYXNzdW1lZCBoZXJlIHNhbWUgbG9jayBpcyB1c2VkCj4+PiAgICogZm9yIHRoZSBv dXRwdXQgYW5kIHRoZSBjYXB0dXJlIGJ1ZmZlciBxdWV1ZS4KPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaCBiL2luY2x1ZGUvbWVkaWEvdjRsMi1tZW0ybWVt LmgKPj4+IGluZGV4IGM5ZmE5NmM4ZWVkMS4uOGFlMmY1NmM3ZmEzIDEwMDY0NAo+Pj4gLS0tIGEv aW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaAo+Pj4gKysrIGIvaW5jbHVkZS9tZWRpYS92NGwy LW1lbTJtZW0uaAo+Pj4gQEAgLTcxNCw2ICs3MTQsMTAgQEAgaW50IHY0bDJfbTJtX2lvY3RsX3Ry eV9lbmNvZGVyX2NtZChzdHJ1Y3QgZmlsZSAqZmlsZSwKPj4+IHZvaWQgKmZoLD4gCj4+PiAgCQkJ CSAgIHN0cnVjdCB2NGwyX2VuY29kZXJfY21kICplYyk7Cj4+PiAgCj4+PiAgaW50IHY0bDJfbTJt X2lvY3RsX3RyeV9kZWNvZGVyX2NtZChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqZmgsCj4+PiAg Cj4+PiAgCQkJCSAgIHN0cnVjdCB2NGwyX2RlY29kZXJfY21kICpkYyk7Cj4+Pgo+Pj4gK2ludCB2 NGwyX20ybV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxl LCB2b2lkICpmaCwKPj4+ICsJCQkJCSAgICAgc3RydWN0IAo+IHY0bDJfZGVjb2Rlcl9jbWQgKmRj KTsKPj4+ICtpbnQgdjRsMl9tMm1faW9jdGxfc3RhdGVsZXNzX2RlY29kZXJfY21kKHN0cnVjdCBm aWxlICpmaWxlLCB2b2lkICpwcml2LAo+Pj4gKwkJCQkJIHN0cnVjdCAKPiB2NGwyX2RlY29kZXJf Y21kICpkYyk7Cj4+Pgo+Pj4gIGludCB2NGwyX20ybV9mb3BfbW1hcChzdHJ1Y3QgZmlsZSAqZmls ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOwo+Pj4gIF9fcG9sbF90IHY0bDJfbTJtX2Zv cF9wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KTsKPiAKPiAKPiAKPiAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRldmVsIG1h aWxpbmcgbGlzdApkZXZlbEBsaW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6Ly9kcml2ZXJkZXYu bGludXhkcml2ZXJwcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaXZlcmRldi1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 641FFC4740A for ; Mon, 7 Oct 2019 08:33:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DCF6220867 for ; Mon, 7 Oct 2019 08:33:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="aPlthFw1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DCF6220867 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xs4all.nl Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kp5S5FgxTGVDkSGYbtQ31IJ6mgnHlC7mi8hAUeqiiMw=; b=aPlthFw1FDszz/ +VgFATXMEJ/HSZeTNn+YZRPz+Bv2weVOg47gTJJubJFTh4M4bVb6bK5SAjdWP1ZYJ1x970geLIoBs ywF8ZfT9rqCxCEgonYFXSazdE5uN7UmpWj3GZ0za2ZLghaSpCGZqbiYo+KLJEsiUxA4zE/+eXRwCI cUoizYLNs4zI+JlDY/ARv9+RHO7QOFVNGhIYAgDKbXeGE9YTEHgKfvFrAbvplLZFK90N3ujqdPVms 37M0EWuUJr90E+Kk9Sxvl/QrOPQLl8gccEVLkun6Trwe+IS8WRfc03qNijX/HeHkC+1QSxlcRveE3 f8PulWHHWedAB2a9P5Ig==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iHOSG-0002eO-Vx; Mon, 07 Oct 2019 08:33:20 +0000 Received: from lb1-smtp-cloud7.xs4all.net ([194.109.24.24]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iHOSD-0002cp-4U for linux-arm-kernel@lists.infradead.org; Mon, 07 Oct 2019 08:33:19 +0000 Received: from [IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8] ([IPv6:2001:983:e9a7:1:3d61:cdd2:8085:cc8]) by smtp-cloud7.xs4all.net with ESMTPA id HORviKciZjZ8vHORwi5MFm; Mon, 07 Oct 2019 10:33:07 +0200 Subject: Re: [PATCH v2 3/6] media: v4l2-mem2mem: add stateless_(try_)decoder_cmd ioctl helpers To: =?UTF-8?Q?Jernej_=c5=a0krabec?= References: <20190929200023.215831-1-jernej.skrabec@siol.net> <20190929200023.215831-4-jernej.skrabec@siol.net> <6c7eeaf1-18bb-1c7e-7938-a3eb5af100b6@xs4all.nl> <2840939.OS9t7MgvnY@jernej-laptop> From: Hans Verkuil Message-ID: Date: Mon, 7 Oct 2019 10:32:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <2840939.OS9t7MgvnY@jernej-laptop> Content-Language: en-US X-CMAE-Envelope: MS4wfGHd6OSD1FLSR8tNZsbhbHQNPfX75M0V7RaZdh19iAF3oqzeutMCalTO38S5dEhgGLX4RNVSgPgzT3/UuWcy7gPiwkkXJDytiGnBYCQOsv9aYCkRfAj2 MnYF7yhdMrsRfwMYHBnn7TT/zRAtesy3YXAS248gZ38hAQybYnicKDyYEslBpaTrafJDsw7kwYi3dDSqZgVsPR3r5NKOG+bhH4pAPq2wfjxLDhcnSQUefHpl jHy7W1K6AhV1be+LnTLlP+yPDB6sMQxo3zpMvyqoNWFrO7FT4Dkzfgq4lpRWeLxSHccktEbx1Jdh70nkHglrJGvjHUaZTWjLmH3z/I6bsGQMidN4NLUX6pcm wf8Q3QejyUWYH1TsrAQ5dqw8D5ZMY2ryWhjTjrQgBynEaA7D2b7Ke9xqIZ3P8nJDLUhnV0h4XudXF3q8VCUu+wEKR4AhhpkmGvB/IlgSpGE8g5KD/qeBW/Gg tcJi6TZnMAthHh0RLe0YljVcVsszECBZhT3kJE+vFyYIButqKejfe/bTuibWqAtsUbAK8lfgxSV+/kmGGicRsX3F1TIjseu1TDf94nGT0sljSmVZRmm8oL7a gcnIlLSGO81YeTMEY93XIXNZhEEvMoafg2K8ogCL1I20mcPT8Qqf+hA3niWEV+vYC1vkI4cz9G3aaEDERofNo2CWMNgmPboc6s8im/JwDnd5J/rOPJxnRdvS RWXEKvLCLpc3Wl2wATEXIhb1K2JJBB0NIpmzQd828jZhc4AS61C4NW0/zr265E02pNE2p2TyK3UK344I3/RrFiV8HRwGjqFyXb/3IjK2c6/YUYTUb48XbSUR kijzBakVGAIeQv672mc= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191007_013317_337323_578D0B00 X-CRM114-Status: GOOD ( 16.81 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, linux-media@vger.kernel.org, pawel@osciak.com, jonas@kwiboo.se, gregkh@linuxfoundation.org, wens@csie.org, mripard@kernel.org, tfiga@chromium.org, paul.kocialkowski@bootlin.com, kyungmin.park@samsung.com, boris.brezillon@collabora.com, linux-arm-kernel@lists.infradead.org, mchehab@kernel.org, ezequiel@collabora.com, linux-kernel@vger.kernel.org, m.szyprowski@samsung.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTAvNy8xOSA4OjAyIEFNLCBKZXJuZWogxaBrcmFiZWMgd3JvdGU6Cj4gRG5lIHBldGVrLCAw NC4gb2t0b2JlciAyMDE5IG9iIDExOjIxOjEyIENFU1QgamUgSGFucyBWZXJrdWlsIG5hcGlzYWwo YSk6Cj4+IE9uIDkvMjkvMTkgMTA6MDAgUE0sIEplcm5laiBTa3JhYmVjIHdyb3RlOgo+Pj4gVGhl c2UgaGVscGVycyBhcmUgdXNlZCBieSBzdGF0ZWxlc3MgY29kZWNzIHdoZW4gdGhleSBzdXBwb3J0 IG11bHRpcGxlCj4+PiBzbGljZXMgcGVyIGZyYW1lIGFuZCBob2xkIGNhcHR1cmUgYnVmZmVyIGZs YWcgaXMgc2V0LiBJdCdzIGV4cGVjdGVkIHRoYXQKPj4+IGFsbCBzdWNoIGNvZGVjcyB3aWxsIHVz ZSB0aGlzIGNvZGUuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogSmVybmVqIFNrcmFiZWMgPGplcm5l ai5za3JhYmVjQHNpb2wubmV0Pgo+Pj4gLS0tCj4+Pgo+Pj4gIGRyaXZlcnMvbWVkaWEvdjRsMi1j b3JlL3Y0bDItbWVtMm1lbS5jIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICBp bmNsdWRlL21lZGlhL3Y0bDItbWVtMm1lbS5oICAgICAgICAgICB8ICA0ICsrKwo+Pj4gIDIgZmls ZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL3Y0bDItY29yZS92NGwyLW1lbTJtZW0uYwo+Pj4gYi9kcml2ZXJzL21lZGlhL3Y0bDIt Y29yZS92NGwyLW1lbTJtZW0uYyBpbmRleCAxOTkzN2RkM2M2ZjYuLjI2NzdhMDdlNGM5Ygo+Pj4g MTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLW1lbTJtZW0uYwo+ Pj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1tZW0ybWVtLmMKPj4+IEBAIC0x MTU0LDYgKzExNTQsNDEgQEAgaW50IHY0bDJfbTJtX2lvY3RsX3RyeV9kZWNvZGVyX2NtZChzdHJ1 Y3QgZmlsZQo+Pj4gKmZpbGUsIHZvaWQgKmZoLD4gCj4+PiAgfQo+Pj4gIEVYUE9SVF9TWU1CT0xf R1BMKHY0bDJfbTJtX2lvY3RsX3RyeV9kZWNvZGVyX2NtZCk7Cj4+Pgo+Pj4gK2ludCB2NGwyX20y bV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lk ICpmaCwKPj4+ICsJCQkJCSAgICAgc3RydWN0IAo+IHY0bDJfZGVjb2Rlcl9jbWQgKmRjKQo+Pj4g K3sKPj4+ICsJaWYgKGRjLT5jbWQgIT0gVjRMMl9ERUNfQ01EX0ZMVVNIKQo+Pj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4+PiArCj4+PiArCWRjLT5mbGFncyA9IDA7Cj4+PiArCj4+PiArCXJldHVybiAw Owo+Pj4gK30KPj4+ICtFWFBPUlRfU1lNQk9MX0dQTCh2NGwyX20ybV9pb2N0bF9zdGF0ZWxlc3Nf dHJ5X2RlY29kZXJfY21kKTsKPj4+ICsKPj4+ICtpbnQgdjRsMl9tMm1faW9jdGxfc3RhdGVsZXNz X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LAo+Pj4gKwkJCQkJIHN0 cnVjdCAKPiB2NGwyX2RlY29kZXJfY21kICpkYykKPj4+ICt7Cj4+PiArCXN0cnVjdCB2NGwyX2Zo ICpmaCA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPj4+ICsJc3RydWN0IHZiMl92NGwyX2J1ZmZlciAq b3V0X3ZiLCAqY2FwX3ZiOwo+Pj4gKwlpbnQgcmV0Owo+Pj4gKwo+Pj4gKwlyZXQgPSB2NGwyX20y bV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKGZpbGUsIHByaXYsIGRjKTsKPj4+ICsJ aWYgKHJldCA8IDApCj4+PiArCQlyZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gKwlvdXRfdmIgPSB2NGwy X20ybV9sYXN0X3NyY19idWYoZmgtPm0ybV9jdHgpOwo+Pj4gKwljYXBfdmIgPSB2NGwyX20ybV9s YXN0X2RzdF9idWYoZmgtPm0ybV9jdHgpOwo+Pgo+PiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHY0 bDJfbTJtX25leHRfZHN0X2J1Zi4gSWYgbXVsdGlwbGUgY2FwdHVyZSBidWZmZXJzCj4+IHdlcmUg cXVldWVkIHVwLCB0aGVuIGl0IGNhbiBvbmx5IGJlIHRoZSBmaXJzdCBjYXB0dXJlIGJ1ZmZlciB0 aGF0IGNhbiBiZQo+PiAnSEVMRCcuCj4gCj4gSSdtIHByZXR0eSBzdXJlIHY0bDJfbTJtX2xhc3Rf ZHN0X2J1ZigpIGlzIGNvcnJlY3QuIFdlIHdhbnQgdG8gYWZmZWN0IGxhc3Qgam9iIAo+IGluIHRo ZSBxdWV1ZSwgYWxsIGpvYnMgYmVmb3JlIGFyZSBhbHJlYWR5IHByb3Blcmx5IGhhbmRsZWQgYnkg Y29tcGFyaW5nIAo+IHRpbWVzdGFtcHMuCgpZb3UncmUgYWJzb2x1dGVseSByaWdodC4KCj4gCj4+ Cj4+IFRoaXMgbWlnaHQgc29sdmUgdGhlIHJhY2UgY29uZGl0aW9uIHlvdSBzYXcgd2l0aCBmZm1w ZWcuCj4gCj4gVGhpcyBhY3R1YWxseSBkb2Vzbid0IGNoYW5nZSBhbnl0aGluZy4gZmZtcGVnIGN1 cnJlbnRseSBxdWV1ZXMgb25seSBvbmUgam9iIGFuZCAKPiB0aGVuIHdhaXRzIHVudGlsIGl0J3Mg ZXhlY3V0ZWQuIEluIHRoaXMgY2FzZSBpdCBhY3R1YWxseSBkb2Vzbid0IG1hdHRlciBpZiAKPiAi bGFzdCIgb3IgIm5leHQiIHZhcmlhbnQgaXMgdXNlZC4KCkNhbiB5b3UgZGVidWcgdGhpcyBhIGJp dCBmdXJ0aGVyPyBJIGRvbid0IHdhbnQgdG8gbWVyZ2UgdGhpcyB1bmxlc3Mgd2Uga25vdyB3aGF0 J3MKZ29pbmcgd3Jvbmcgd2l0aCBmZm1wZWcuCgpJIHN1c3BlY3QgaXQgaXMgYSByYWNlIGNvbmRp dGlvbi4gSSdsbCByZXBseSB0byBwYXRjaCA2LzYgd2l0aCBtb3JlIGluZm8uCgpSZWdhcmRzLAoK CUhhbnMKCj4gCj4gQmVzdCByZWdhcmRzLAo+IEplcm5lago+IAo+Pgo+PiBSZWdhcmRzLAo+Pgo+ PiAJSGFucwo+Pgo+Pj4gKwo+Pj4gKwlpZiAob3V0X3ZiKQo+Pj4gKwkJb3V0X3ZiLT5mbGFncyAm PSB+VjRMMl9CVUZfRkxBR19NMk1fSE9MRF9DQVBUVVJFX0JVRjsKPj4+ICsJZWxzZSBpZiAoY2Fw X3ZiICYmIGNhcF92Yi0+aXNfaGVsZCkKPj4+ICsJCXY0bDJfbTJtX2J1Zl9kb25lKGNhcF92Yiwg VkIyX0JVRl9TVEFURV9ET05FKTsKPj4+ICsKPj4+ICsJcmV0dXJuIDA7Cj4+PiArfQo+Pj4gK0VY UE9SVF9TWU1CT0xfR1BMKHY0bDJfbTJtX2lvY3RsX3N0YXRlbGVzc19kZWNvZGVyX2NtZCk7Cj4+ PiArCj4+Pgo+Pj4gIC8qCj4+PiAgCj4+PiAgICogdjRsMl9maWxlX29wZXJhdGlvbnMgaGVscGVy cy4gSXQgaXMgYXNzdW1lZCBoZXJlIHNhbWUgbG9jayBpcyB1c2VkCj4+PiAgICogZm9yIHRoZSBv dXRwdXQgYW5kIHRoZSBjYXB0dXJlIGJ1ZmZlciBxdWV1ZS4KPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaCBiL2luY2x1ZGUvbWVkaWEvdjRsMi1tZW0ybWVt LmgKPj4+IGluZGV4IGM5ZmE5NmM4ZWVkMS4uOGFlMmY1NmM3ZmEzIDEwMDY0NAo+Pj4gLS0tIGEv aW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaAo+Pj4gKysrIGIvaW5jbHVkZS9tZWRpYS92NGwy LW1lbTJtZW0uaAo+Pj4gQEAgLTcxNCw2ICs3MTQsMTAgQEAgaW50IHY0bDJfbTJtX2lvY3RsX3Ry eV9lbmNvZGVyX2NtZChzdHJ1Y3QgZmlsZSAqZmlsZSwKPj4+IHZvaWQgKmZoLD4gCj4+PiAgCQkJ CSAgIHN0cnVjdCB2NGwyX2VuY29kZXJfY21kICplYyk7Cj4+PiAgCj4+PiAgaW50IHY0bDJfbTJt X2lvY3RsX3RyeV9kZWNvZGVyX2NtZChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqZmgsCj4+PiAg Cj4+PiAgCQkJCSAgIHN0cnVjdCB2NGwyX2RlY29kZXJfY21kICpkYyk7Cj4+Pgo+Pj4gK2ludCB2 NGwyX20ybV9pb2N0bF9zdGF0ZWxlc3NfdHJ5X2RlY29kZXJfY21kKHN0cnVjdCBmaWxlICpmaWxl LCB2b2lkICpmaCwKPj4+ICsJCQkJCSAgICAgc3RydWN0IAo+IHY0bDJfZGVjb2Rlcl9jbWQgKmRj KTsKPj4+ICtpbnQgdjRsMl9tMm1faW9jdGxfc3RhdGVsZXNzX2RlY29kZXJfY21kKHN0cnVjdCBm aWxlICpmaWxlLCB2b2lkICpwcml2LAo+Pj4gKwkJCQkJIHN0cnVjdCAKPiB2NGwyX2RlY29kZXJf Y21kICpkYyk7Cj4+Pgo+Pj4gIGludCB2NGwyX20ybV9mb3BfbW1hcChzdHJ1Y3QgZmlsZSAqZmls ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOwo+Pj4gIF9fcG9sbF90IHY0bDJfbTJtX2Zv cF9wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KTsKPiAKPiAKPiAKPiAK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==