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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id A78B0CE7A86 for ; Fri, 22 Sep 2023 20:21:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PkTHFeKXnkHhrWuB59dPEBExA69ptwJ/kT8tM4lXIJU=; b=exYXH6qA8Ma8uX N/PF+Q8ZDqNSSdrgSYbolYCmD+KIt6XgI+pqIcyMoqHnGXydNCllML9bJWEURPgMeVI5kq4t2OOLj rUoXGn19CkW2zp5mLysVbrKhbF1e8V1FnJDNDsaVwKK7Jz7ad7JKNmbkaclArdXV7lZL8xmo8G7zF Xa/jcOF/evEdi65JtsriPKEJUJ9UDric8QSDqkdFwKvgW+QzICP85aYxmAItrZoxVy1FST+OlRpj9 EFi2pi4SKZYHr7e8i5ytqE9zdQ4flKm3GwDknW47C4k6TfbRPVl4r9Xq/HQPYSXOblxsToFG8b+qu 6A/BWdtfGBa5Bm+zgHOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qjmdn-009mYy-1R; Fri, 22 Sep 2023 20:20:43 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qjmdj-009mXT-0p for linux-arm-kernel@lists.infradead.org; Fri, 22 Sep 2023 20:20:42 +0000 Received: from nicolas-tpx395.localdomain (unknown [IPv6:2606:6d00:15:bae9::7a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id A5F6C66072E7; Fri, 22 Sep 2023 21:20:33 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1695414035; bh=GEcta38pSsvG43P/8xSgcmSYWmf1kc3dwfuZHTL07Fs=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=mYGkC07DhFsqSF+lLJe8pwxg+jP9NguSy0x7MdaZRsSXzw+KO37Egqb0sjTc32zWW 1X4YLR0+ii4Vk1E1aPYLY/8yq3rKp9RQKf5CHFgbv2zg00eqRNVzqiClUtKjVucuzp /GIQym5+VR5uYJRwZtUIJL1qqFDsUoMjPAXRg69XUuVyWQFQsGeopWdY2mQEA5fzfI zo49y3CqZU+76e33SaATv2VjHKLe/eJeWtfBG7pfLB1zqnGhcO/qAxcVBD6YikNkUb WtNwyjylQ+aDlRN5Hd9qCLRJEcT+KfLQOCf8qtfrOQZbGpuAkr3H2JDtaGOYJozwPo MwUDpqTH2IUTA== Message-ID: <27bcd2cf21688b1120fcc75c38981f8585e8f9bd.camel@collabora.com> Subject: Re: [PATCH v12 1/7] media: v4l2: Add ignore_streaming flag From: Nicolas Dufresne To: Hans Verkuil , Sebastian Fricke , Mauro Carvalho Chehab , Nas Chung , Sascha Hauer , Fabio Estevam , Rob Herring , Shawn Guo , Philipp Zabel , Jackson Lee , Krzysztof Kozlowski , NXP Linux Team , Conor Dooley , Pengutronix Kernel Team Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Robert Beckett , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Tomasz Figa Date: Fri, 22 Sep 2023 16:20:24 -0400 In-Reply-To: <2ada3256-2aa0-41e0-bac6-989a20131309@xs4all.nl> References: <20230915-wave5_v12_on_media_master-v12-0-92fc66cd685d@collabora.com> <20230915-wave5_v12_on_media_master-v12-1-92fc66cd685d@collabora.com> <179e88f04257f21b6b723e935231de70415b3301.camel@collabora.com> <522e5f3bd4f43a5718ae88133b8d5d187c470f74.camel@collabora.com> <2ada3256-2aa0-41e0-bac6-989a20131309@xs4all.nl> User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230922_132039_639462_10D4D41D X-CRM114-Status: GOOD ( 84.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TGUgdmVuZHJlZGkgMjIgc2VwdGVtYnJlIDIwMjMgw6AgMTA6MjggKzAyMDAsIEhhbnMgVmVya3Vp bCBhIMOpY3JpdMKgOgo+IE9uIDIxLzA5LzIwMjMgMjA6MzksIE5pY29sYXMgRHVmcmVzbmUgd3Jv dGU6Cj4gPiBMZSBtZXJjcmVkaSAyMCBzZXB0ZW1icmUgMjAyMyDDoCAxNjo0OSArMDIwMCwgSGFu cyBWZXJrdWlsIGEgw6ljcml0wqA6Cj4gPiA+IE9uIDIwLzA5LzIwMjMgMTY6MDgsIE5pY29sYXMg RHVmcmVzbmUgd3JvdGU6Cj4gPiA+ID4gY2MgVG9tYXN6IEZpZ2EKPiA+ID4gPiAKPiA+ID4gPiBM ZSBtZXJjcmVkaSAyMCBzZXB0ZW1icmUgMjAyMyDDoCAxNDo1OSArMDIwMCwgSGFucyBWZXJrdWls IGEgw6ljcml0wqA6Cj4gPiA+ID4gPiBPbiAxNS8wOS8yMDIzIDIzOjExLCBTZWJhc3RpYW4gRnJp Y2tlIHdyb3RlOgo+ID4gPiA+ID4gPiBBZGQgYSBuZXcgZmxhZyB0byB0aGUgYHN0cnVjdCB2NGwy X20ybV9kZXZgIHRvIHRvZ2dsZSB3aGV0aGVyIGEgcXVldWUKPiA+ID4gPiA+ID4gbXVzdCBiZSBz dHJlYW1pbmcgaW4gb3JkZXIgdG8gYWxsb3cgcXVldWluZyBqb2JzIHRvIHRoZSByZWFkeSBxdWV1 ZS4KPiA+ID4gPiA+ID4gQ3VycmVudGx5LCBib3RoIHF1ZXVlcyAoQ0FQVFVSRSAmIE9VVFBVVCkg bXVzdCBiZSBzdHJlYW1pbmcgaW4gb3JkZXIgdG8KPiA+ID4gPiA+ID4gYWxsb3cgYWRkaW5nIG5l dyBqb2JzLiBUaGlzIGJlaGF2aW9yIGxpbWl0cyB0aGUgdXNhYmlsaXR5IG9mIE0yTSBmb3IKPiA+ ID4gPiA+ID4gc29tZSBkcml2ZXJzLCBhcyB0aGVzZSBoYXZlIHRvIGJlIGFibGUsIHRvIHBlcmZv cm0gYW5hbHlzaXMgb2YgdGhlCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGFibGUsIHRvIC0+IGFibGUg dG8KPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBzZXF1ZW5jZSB0byBlbnN1cmUsIHRoYXQgdXNlcnNw YWNlIHByZXBhcmVzIHRoZSBDQVBUVVJFIHF1ZXVlIGNvcnJlY3RseS4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gZW5zdXJlLCB0aGF0IC0+IGVuc3VyZSB0aGF0Cj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBGcmlja2UgPHNlYmFzdGlhbi5m cmlja2VAY29sbGFib3JhLmNvbT4KPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTmljb2xhcyBE dWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgo+ID4gPiA+ID4gPiAtLS0K PiA+ID4gPiA+ID4gIGluY2x1ZGUvbWVkaWEvdjRsMi1tZW0ybWVtLmggfCAxNyArKysrKysrKysr KysrKysrKwo+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKykKPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL3Y0bDItbWVt Mm1lbS5oIGIvaW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaAo+ID4gPiA+ID4gPiBpbmRleCBk NmM4ZWIyYjUyMDEuLjk3YTQ4ZTYxZTM1OCAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvaW5jbHVk ZS9tZWRpYS92NGwyLW1lbTJtZW0uaAo+ID4gPiA+ID4gPiArKysgYi9pbmNsdWRlL21lZGlhL3Y0 bDItbWVtMm1lbS5oCj4gPiA+ID4gPiA+IEBAIC01Nyw2ICs1NywxNiBAQCBzdHJ1Y3QgdjRsMl9t Mm1fZGV2Owo+ID4gPiA+ID4gPiAgICogQHJkeV9zcGlubG9jazogc3BpbiBsb2NrIHRvIHByb3Rl Y3QgdGhlIHN0cnVjdCB1c2FnZQo+ID4gPiA+ID4gPiAgICogQG51bV9yZHk6CW51bWJlciBvZiBi dWZmZXJzIHJlYWR5IHRvIGJlIHByb2Nlc3NlZAo+ID4gPiA+ID4gPiAgICogQGJ1ZmZlcmVkOglp cyB0aGUgcXVldWUgYnVmZmVyZWQ/Cj4gPiA+ID4gPiA+ICsgKiBAaWdub3JlX3N0cmVhbWluZzog RGljdGF0ZXMgd2hldGhlciB0aGUgcXVldWUgbXVzdCBiZSBzdHJlYW1pbmcgZm9yIGEgam9iIHRv Cj4gPiA+ID4gPiA+ICsgKgkJICAgICAgYmUgcXVldWVkLgo+ID4gPiA+ID4gPiArICoJCSAgICAg IFRoaXMgaXMgdXNlZnVsLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgZHJpdmVyIHJlcXVpcmVzIHRv Cj4gPiA+ID4gPiA+ICsgKgkJICAgICAgaW5pdGlhbGl6ZSB0aGUgc2VxdWVuY2Ugd2l0aCBhIGZp cm13YXJlLCB3aGVyZSBvbmx5IGEKPiA+ID4gPiA+ID4gKyAqCQkgICAgICBxdWV1ZWQgT1VUUFVU IHF1ZXVlIGJ1ZmZlciBhbmQgU1RSRUFNT04gb24gdGhlIE9VVFBVVAo+ID4gPiA+ID4gPiArICoJ CSAgICAgIHF1ZXVlIGlzIHJlcXVpcmVkIHRvIHBlcmZvcm0gdGhlIGFubHlzaXMgb2YgdGhlIGJp dHN0cmVhbQo+ID4gPiA+ID4gPiArICoJCSAgICAgIGhlYWRlci4KPiA+ID4gPiA+ID4gKyAqCQkg ICAgICBUaGlzIG1lYW5zIHRoZSBkcml2ZXIgaXMgcmVzcG9uc2libGUgZm9yIGltcGxlbWVudGlu ZyB0aGUKPiA+ID4gPiA+ID4gKyAqCQkgICAgICBqb2JfcmVhZHkgY2FsbGJhY2sgY29ycmVjdGx5 IHRvIG1ha2Ugc3VyZSB0aGF0IHJlcXVpcmVtZW50cwo+ID4gPiA+ID4gPiArICoJCSAgICAgIGZv ciBhY3R1YWwgZGVjb2RpbmcgYXJlIG1ldC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhpcyBpcyBh IGJhZCBkZXNjcmlwdGlvbiBhbmQgZmllbGQgbmFtZS4KPiA+ID4gPiAKPiA+ID4gPiBJIHdvbmRl ciB3aGF0J3MgeW91ciBvcGluaW9uIGFib3V0IHRoZSBidWZmZXJlZCBvbmUgdGhlbiA6LUQKPiA+ ID4gCj4gPiA+IEV2ZW4gd29yc2UgOi0pCj4gPiA+IAo+ID4gPiBJIHN0aWxsIGRvbid0IHJlYWxs eSB1bmRlcnN0YW5kIHdoYXQgdGhhdCBkb2VzLiBQYXRjaGVzIHdlbGNvbWUuCj4gPiA+IAo+ID4g PiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBCYXNpY2FsbHkgd2hhdCB0aGlzIGZpZWxkIGRvZXMg aXMgdGhhdCwgaWYgdHJ1ZSwgdGhlIHN0cmVhbWluZyBzdGF0ZSBvZiB0aGUKPiA+ID4gPiA+IGNh cHR1cmUgcXVldWUgaXMgaWdub3JlZC4gU28ganVzdCBjYWxsIGl0IHRoYXQ6IGlnbm9yZV9jYXBf c3RyZWFtaW5nLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBBbmQgZXhwbGFpbiB0aGF0LCBpZiB0cnVl LCBqb2JfcmVhZHkoKSB3aWxsIGJlIGNhbGxlZCBldmVuIGlmIHRoZSBjYXB0dXJlCj4gPiA+ID4g PiBxdWV1ZSBpcyBub3Qgc3RyZWFtaW5nLCBhbmQgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFs bG93IGhhcmR3YXJlIHRvCj4gPiA+ID4gPiBhbmFseXplIHRoZSBiaXRzdHJlYW0gaGVhZGVyIHRo YXQgYXJyaXZlcyBvbiB0aGUgT1VUUFVUIHF1ZXVlLgo+ID4gPiA+IAo+ID4gPiA+IEFjay4KPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gQWxzbywgZG9lc24ndCB0aGlzIGZpZWxkIGJlbG9u ZyB0byBzdHJ1Y3QgdjRsMl9tMm1fY3R4PyBJdCBtYWtlcyBubyBzZW5zZQo+ID4gPiA+ID4gZm9y IHRoZSBvdXRwdXQgcXVldWUsIHRoaXMgaXMgcmVhbGx5IGEgY29uZmlndXJhdGlvbiBmb3IgdGhl IG0ybSBjb250ZXh0IGFzCj4gPiA+ID4gPiBhIHdob2xlLgo+ID4gPiA+IAo+ID4gPiA+IFVubGVz cyB3ZSBjb21lIHVwIHdpdGggYSBjb21wbGV0ZWx5IG5ldyB0eXBlIG9mIE0yTSB0aGF0IGNhbiBi ZWhhdmUgbGlrZSBhIGdhcAo+ID4gPiA+IGZpbGxlciAobGlrZSBhIHZpZGVvIHJhdGUgbTJtKSwg aXQgaW5kZWVkIG1ha2VzIG5vIHNlbnNlIGZvciBvdXRwdXQuIEknbSBqdXN0Cj4gPiA+ID4gaWxs dXN0cmF0aW5nIHRoYXQgdGhpcyBpcyB0cnVlICJub3ciIGJ1dCBzb21lb25lIGNhbiBjb21lIHVw IHdpdGggdmFsaWQKPiA+ID4gPiBleHBlY3RhdGlvbi4gU28gSSBhZ3JlZSB3aXRoIHlvdSwgd2Ug Y2FuIG1vdmUgaXQgdXAgaW4gdGhlIGhpZXJhcmNoeS4KPiA+ID4gPiAKPiA+ID4gPiBSZWNlbnRs eSBvdmVyIElSQyBhbmQgb3RoZXIgdGhyZWFkcywgVG9tYXN6IHJhaXNlZCBhIGNvbmNlcm4gdGhh dCBDT0RFQ3Mgd2hlcmUKPiA+ID4gPiBpbnRyb2R1Y2luZyB0b28gbXVjaCBjb21wbGV4aXR5IGlu dG8gTTJNLiBBbmQgSSBiZWxpZXZlIGJ1ZmZlcmVkICh3aGljaCBpcwo+ID4gPiA+IGJhcmVseSBk b2N1bWVudGVkKSBhbmQgdGhpcyBtZWNoYW5pc20gd2FzIGJlaW5nIHBvaW50ZWQuCj4gPiA+ID4g Cj4gPiA+ID4gTXkgdGFrZSBvbiB0aGF0IGlzIHRoYXQgYWRkaW5nIGJvb2xlYW4gY29uZmlndXJh dGlvbiBpcyB3aGF0IGludHJvZHVjZQo+ID4gPiA+IGNvbXBsZXhpdHksIGFuZCB3ZSBjYW4gZml4 IGl0IGJ5IGRvaW5nIGxlc3MgaW4gdGhlIG0ybS4gQWZ0ZXIgdGhpcyBkaXNjdXNzaW9uLCBJCj4g PiA+ID4gY2FtZSB3aXRoIHRoZSBpZGVhIHRoYXQgd2Ugc2hvdWxkIHJlbW92ZSBidWZmZXJlZCBh bmQgaWdub3JlX3N0cmVhbWluZy4gRm9yCj4gPiA+ID4gZHJpdmVycyB0aGF0IGRvbid0IGltcGxl bWVudCBqb2JfcmVhZHksIHRoaXMgbG9naWMgd291bGQgYmUgbW92ZWQgaW5zaWRlIHRoZQo+ID4g PiA+IGRlZmF1bHQgaW1wbGVtZW50YXRpb24uIFdlIGNhbiB0aGVuIGFkZCBhIGhlbHBlciB0byBj aGVjayB0aGUgY29tbW9uIGNvbmRpdGlvbnMuCj4gPiA+ID4gCj4gPiA+ID4gVGhlIGFsdGVybmF0 aXZlIHN1Z2dlc3RlZCBieSBUb21hc3osIHdhcyB0byBsYXllciB0d28gb3BzLiBXZSdkIGhhdmUg YQo+ID4gPiA+IGRldmljZV9yZWFkeSgpIG9wcyBhbmQgaXRzIGRlZmF1bHQgaW1wbGVtZW50YXRp b24gd291bGQgaW5jbHVkZSB0aGUgY2hlY2sgd2UKPiA+ID4gPiBoYXZlIGFuZCB3b3VsZCBjYWxs IGpvYl9yZWFkeSgpLiBQZXJzb25hbGx5LCBJJ2QgcmF0aGVyIHJlbW92ZSB0aGVuIGFkZCwgYnV0 IEkKPiA+ID4gPiB1bmRlcnN0YWR0IHRoZSByZWFzb25pbmcgYW5kIHdvdWxkIGJlIGZpbmUgY29t bWl0dGluZyB0byB0aGF0IGluc3RlYWQuCj4gPiA+ID4gCj4gPiA+ID4gSSdkIGxpa2UgeW91ciBm ZWVkYmFjayBvbiB0aGlzIHByb3Bvc2FsLiBJZiB0aGlzIGlzIHNvbWV0aGluZyB3ZSB3YW50LCBJ J2xsIGRvCj4gPiA+ID4gdGhpcyBwcmlvciB0byBWMTMsIG90aGVyd2lzZSB3ZSB3aWxsIGFkZHJl c3MgeW91ciBjb21tZW50cyBhbmQgZml4IHRoZSBhZGRlZAo+ID4gPiA+IG1lY2hhbmlzbS4gSSB0 aGluayB0aG91Z2ggdGhhdCB3ZSBhZ3JlZSB0aGF0IGZvciBkZWNvZGVycywgdGhpcyBpcyBuaWNl IGFkZGl0aW9uCj4gPiA+ID4gdG8gbm90IGhhdmUgdG8gdHJpZ2dlciB3b3JrIG1hbnVhbGx5IGZy b20gdmIyIG9wcy4KPiA+ID4gCj4gPiA+IEl0IGNvbWVzIGRvd24gdG8gYSBtYXR0ZXIgb2YgdGFz dGUsIEkgZ3Vlc3MuIEkgcGVyc29uYWxseSB0aGluayB0aGF0IHVzaW5nIGJvb2xzCj4gPiA+IHRv IHR3ZWFrIHRoZSBiZWhhdmlvciBvZiBhIGZyYW1ld29yayBkb2VzIG5vdCBuZWNlc3NhcmlseSBp bmNyZWFzZSBjb21wbGV4aXR5LAo+ID4gPiBwcm92aWRlZCBpdCBpcyBjbGVhcmx5IGRvY3VtZW50 ZWQgd2hhdCBpdCBkb2VzIGFuZCB3aHkgaXQgaXMgbmVlZGVkLgo+ID4gPiAKPiA+ID4gSSB0aGlu ayBhbiBpZ25vcmVfY2FwX3N0cmVhbWluZyBib29sIGlzIHByZXR0eSBzdHJhaWdodGZvcndhcmQg YW5kIGhhcyBtaW5pbWFsCj4gPiA+IGltcGFjdCBpbiB0aGUgY29kZS4gQXMgbG9uZyBhcyB0aGVy ZSBhcmUgZ29vZCBjb21tZW50cy4KPiA+IAo+ID4gU28gZm9yIHdhdmU1IHdlIHdpbGwgb3B0IGZv ciB0aGlzIGFuZCBhcHBseSB5b3VyIHN1Z2dlc3RlZCBjaGFuZ2VzLiBBbmQgSSBtYXkKPiA+IGNv bWUgYmFjayBsYXRlciBvbiB0aGUgc3ViamVjdC4KPiA+IAo+ID4gPiAKPiA+ID4gVGhlICdidWZm ZXJlZCcgZmxhZyBpcyB3ZXJlIHRoaXMgY2xlYXJseSBmYWlsZWQgY29tcGxldGVseSwgc2luY2Ug SSBjb3VsZG4ndCBmaWd1cmUKPiA+ID4gb3V0IHdoYXQgaXQgaXMgc3VwcG9zZWQgdG8gZG8uIEJ1 dCB0aGF0IGlzIG5vdCBiZWNhdXNlIGl0IG1ha2VzIHRoZSBjb2RlIG1vcmUKPiA+ID4gY29tcGxl eCwgaXQgaXMganVzdCBiZWNhdXNlIG9mIHNob2RkeSBkb2N1bWVudGF0aW9uIGFuZCBuYW1pbmcu Cj4gPiA+IAo+ID4gPiBRdWl0ZSBvZnRlbiBpbXBsZW1lbnRpbmcgdHdlYWtzIGxpa2UgdGhhdCBh cmUgcXVpdGUgZWFzeSBpbiBhIGZyYW1ld29yaywgc2luY2UKPiA+ID4geW91IGhhdmUgYWxsIHRo ZSBpbmZvcm1hdGlvbiByZWFkaWx5IGF2YWlsYWJsZS4gSW4gYSBkcml2ZXIgaXQgY2FuIHF1aWNr bHkgYmVjb21lCj4gPiA+IG1lc3N5Lgo+ID4gCj4gPiBJbiB0aGlzIGNhc2UsICJidWZmZXJlZCIg aXMgdXNlZCB0byBkaXNhYmxlIHRoZSBjaGVja3MgZm9yIGhhdmluZyBhdCBsZWFzdCBvbmUKPiA+ IGJ1ZmZlciBpbiB0aGUgcmVhZHkgcXVldWVzLiBJbiBtb3N0IGNhc2VzLCBpZiB5b3UgZG9uJ3Qg aGF2ZSBhdCBsZWFzdCAxIHBlbmRpbmcKPiA+IGNhcHR1cmUgYW5kIDEgcGVuZGluZyBvdXRwdXQg YnVmZmVyLCB0aGVyZSBpcyBubyBwb2ludCBpbiBjYWxsaW5nIGRldmljZV9ydW4uCj4gCj4gU28g aXQgaXMgcmVhbGx5IHNpbWlsYXIgdG8gaWdub3JlX2NhcF9zdHJlYW1pbmc6IHRoYXQgcmVsYXhl cyB0aGUgc3RyZWFtaW5nIHRlc3QsCj4gYW5kICdidWZmZXJlZCcgcmVsYXhlcyB0aGUgJ211c3Qg aGF2ZSBhdCBsZWFzdCBvbmUgY2FwdHVyZSBhbmQgb3V0cHV0IGJ1ZmZlciByZWFkeScKPiB0ZXN0 Lgo+IAo+IFNvIHRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG86IGFsbG93X2VtcHR5X3F1ZXVlcwo+ IAo+IEFsdGhvdWdoIEkgd291bGQgcHJlZmVyIHRvIHNwbGl0IHRoaXMgaW50byB0d28gYm9vbHM6 IGFsbG93X2VtcHR5X2NhcHR1cmVfcXVldWUgYW5kCj4gYWxsb3dfZW1wdHlfb3V0cHV0X3F1ZXVl LiBJdCBpcyBtb3JlIGZsZXhpYmxlIHRoYXQgd2F5IGFuZCBJIGFjdHVhbGx5IHRoaW5rIGl0IGlz Cj4gZWFzaWVyIHRvIHVuZGVyc3RhbmQuCgpJdHMgb24gdGhlIHF1ZXVlIGN0eCwgc28gaXQgZG9l cyBub3QgaGF2ZSB0byBiZSB0eXBlZC4gSXQgd291bGQgaGF2ZSB0byBiZSB0eXBlZAppZiBtb3Zl ZCB0byBtMm0gY3R4LgoKPiAKPiBJIHNlZSBhbHNvIHNlZSBpbiB0aGUgdjRsMi1tZW0ybWVtLmMg c291cmNlIHRoYXQgdGhlIGRlYnVnIG1lc3NhZ2VzIGFyZSB2ZXJ5IHBvb3JseQo+IHdvcmRlZDoK PiAJc3JjID0gdjRsMl9tMm1fbmV4dF9zcmNfYnVmKG0ybV9jdHgpOwo+IAo+ICAgICAgICAgaWYg KCFzcmMgJiYgIW0ybV9jdHgtPm91dF9xX2N0eC5idWZmZXJlZCkgewo+ICAgICAgICAgICAgICAg ICBkcHJpbnRrKCJObyBpbnB1dCBidWZmZXJzIGF2YWlsYWJsZVxuIik7Cj4gICAgICAgICAgICAg ICAgIGdvdG8gam9iX3VubG9jazsKPiAgICAgICAgIH0KPiAKPiBUaGlzIHNob3VsZCBiZSBlaXRo ZXIgInNvdXJjZSBidWZmZXJzIiBvciAib3V0cHV0IGJ1ZmZlcnMiLCBidXQgZGVmaW5pdGVseSBu b3QKPiAiaW5wdXQgYnVmZmVycyIuCj4gCj4gRGl0dG8gZm9yIHRoZSBkc3QgcGFydC4KCkluZGVl ZCwgSSdsbCBzdG9yZSB0aGlzIG5vZGUgc29tZXdoZXJlIGZvciBmdXR1cmUgd29yayBvbiB0aGUg ZnJhbWV3b3JrLCB0aGlzIGlzCm5vdCBzdHJpY3RseSByZWxhdGVkIHRvIHdhdmU1IGFueW1vcmUu Cgo+IAo+ID4gCj4gPiBJbiByZWFsaXR5LCBkcml2ZXJzIHdpbGwgYWRkIHVzZSBjYXNlIHNwZWNp ZmljIGNoZWNrcyBpbiB0aGVpciBqb2JfcmVhZHkoKQo+ID4gaW1wbGVtZW50YXRpb24uIEZvciBk ZWNvZGVycywgdGhlIGNhc2VzIEkgY2FuIHRoaW5rIG9mIGFyZToKPiA+IAo+ID4gLSBPbiBjYXB0 dXJlIGlmIHlvdSBoYXZlbid0IHBhcnNlZCB0aGUgc3RyZWFtIGhlYWRlcgo+ID4gLSBPbiBjYXB0 dXJlIGlmIHRoZSBkcml2ZXIgcmVtb3ZlcyB0aGVtIGZyb20gcmVhZHkgcXVldWUgYXMgYSB3YXkg dG8gdHJhY2sgd2hpY2gKPiA+IG9uZSBhcmUgY29uc2lkZXJlZCBmcmVlIGFuZCBtYXkgYmUgdXNl ZCBhdCBhbnkgdGltZSBieSB0aGUgZmlybXdhcmUKPiA+IC0gT24gb3V0cHV0IHF1ZXVlLCBpZiB5 b3UgbmVlZCBkZXZpY2VfcnVuKCkgdG8gYmUgY2FsbGVkIHRvIGNvbXBsZXRlIHRoZSBkcmFpbgo+ ID4gdGhlIHJlb3JkZXIgcXVldWUKPiA+IAo+ID4gWWV0LCB5b3Ugd2FudCB0aGlzIGNoZWNrIGFm dGVyIHN0cmVhbSBoZWFkZXJzIGFyZSBwYXJzZWQsIG9yIHdoZW5ldmVyIGEgbmV3Cj4gPiBiaXRz dHJlYW0gZGVjb2RlIG9wZXJhdGlvbiBpcyB0byBiZSBxdWV1ZWQgaW4gdGhlIGZpcm13YXJlLiBT byB0aGlzIGNoZWNrIGdldHMKPiA+IHJlLWltcGxlbWVudGVkLCBidXQgZHluYW1pY2FsbHksIGlu IGFsbCBkZWNvZGVycy4KPiA+IAo+ID4gRGVpbnRlcmxhY2VycyBtYXkgbmVlZHMgdGhpcyB0b28g d2l0aCBzb21lIGFsZ29yaXRobXMgKHRoZSBvbmUgdGhhdCBpbnRyb2R1Y2UKPiA+IGRlbGF5cyBh dCBsZWFzdCkuIEl0cyBub3QgY2xlYXIgdG8gbWUgd2h5IGl0IHdhcyBjYWxsZWQgYnVmZmVyZWQs Cj4gPiBpZ25vcmVfcmR5X3F1ZXVlIG1pZ2h0IGhhdmUgYmVlbiBhbiBvcHRpb24sIHRob3VnaCBJ J20gbm90IGZ1bGx5IGNvbmZpZGVudC4gTm90ZQo+ID4gdGhhdCBNMk0gY2FuIGJlIGNvbmZ1c2lu Zywgc2luY2Ugd2hlbmV2ZXIgeW91IGFzayBmb3IgbGFzdCBzb21ldGhpbmcsIGl0cyBhbHdheXMK PiA+IHJlbGF0aXZlIHRvIHRoZSByZWFkeSBxdWV1ZSwgYW5kIG1heSBub3QgbWFrZSBhIGxvdCBv ZiBzZW5zZSBpbiB0aGUgY29udGV4dCBpdAo+ID4gaXMgdXNlZC4KPiA+IAo+ID4gPiAKPiA+ID4g Rm9yIGNvZGVjIHN1cHBvcnQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGlzc3VlcyB0aGF0IGluY3Jl YXNlIGNvbXBsZXhpdHk6Cj4gPiA+IGltcGxlbWVudGluZyBzdXBwb3J0IGZvciB0aGUgTEFTVCBm bGFnIGFuZCBldmVudHMsIGFuZCBzdXBwb3J0aW5nIGJ1ZmZlcnMKPiA+ID4gdGhhdCBjYW4gYmUg aGVsZC4gRXNwZWNpYWxseSBzaW5jZSBkcml2ZXIgaW1wbGVtZW50YXRpb25zIHRlbmQgdG8gdmFy eS4KPiA+ID4gCj4gPiA+IEkndmUgYmVlbiBleHBlcmltZW50aW5nIHdpdGggc29tZSBjbGVhbnVw cyBhbmQgY2hhbmdlcyBpbiB2NGwyLW1lbTJtZW0uYwo+ID4gPiAoaHR0cHM6Ly9naXQubGludXh0 di5vcmcvaHZlcmt1aWwvbWVkaWFfdHJlZS5naXQvbG9nLz9oPWVuYy1kZWMtY21kKSwgbWFpbmx5 Cj4gPiA+IHN1cnJvdW5kaW5nIHRoZSBoYW5kbGluZyBvZiB0aGUgTEFTVCBmbGFnLiBOb3RlOiB0 aGlzIGlzIGZhaWxpbmcgdGhlIGNvbXBsaWFuY2UKPiA+ID4gdGVzdHMsIEkgaGF2ZW4ndCBoYWQg dGhlIHRpbWUgdG8gcHVyc3VlIHRoaXMgZnVydGhlci4KPiA+ID4gCj4gPiA+IEknbSBub3Qgc3Vy ZSB3aGV0aGVyIHRoZSBiZXN0IGFwcHJvYWNoIGlzIHRvIG1vdmUgdGhpbmdzIG91dCBvZiB0aGUg bTJtIGZyYW1ld29yaywKPiA+ID4gb3IgbW92ZSB0aGluZ3MgaW50byB0aGUgbTJtIGZyYW1ld29y aywgb3IgYWRkIGEgbW9yZSBjb2RlYy1zcGVjaWZpYyBsYXllciBvbiB0b3AKPiA+ID4gb2YgdGhl IG0ybSBmcmFtZXdvcmssIG9yIGEgY29tYmluYXRpb24gb2YgYWxsIG9mIHRoZXNlLgo+ID4gPiAK PiA+ID4gSXQgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgZXhwZXJpbWVudGF0aW9uLCBqdXN0IHNl ZSB3aGF0IHdvcmtzLgo+ID4gCj4gPiBJIGNhbiBzZWUgeW91IGhhdmUgb21pdHRlZCBtYXJrX3N0 b3BwZWQoKSBjYWxsZXMgd2hlbiByZWZhY3RvcmluZywgd2hpY2ggbWFrZXMKPiA+IHRoZXNlIHBh dGNoZXMgY2hhbmdlIHRoZSBiZWhhdmlvdXIuIENvdWxkIGJlIHJlbGF0ZWQuCj4gCj4gQ291bGQg YmUuIEkgaG9wZSB0byBiZSBhYmxlIHRvIHNwZW5kIGEgYml0IG9mIHRpbWUgb24gdGhpcyB0b2Rh eS4KPiAKPiA+IAo+ID4gVGhpcyBpcyBubyBsb25nZXIgc3RyaWN0bHkgcmVsYXRlZCB0byB0aGlz IHBhdGNoLCBidXQgSSB0aGluayBjbWRfc3RvcCgpCj4gPiBpbXBsZW1lbnRhdGlvbiAoZXZlbiBh ZnRlciB5b3VyIGNoYW5nZXMpIGFyZSBtaXNzLWZpdCBmb3IgZHJpdmVyIHRoYXQgc3BlYWtzIHRv Cj4gPiBmaXJtd2FyZS4gQXMgdGhlIGZpcm13YXJlIGlzIGJlaW5nIG1hZGUgYXdhcmUgb2YgdGhl IGZyZWUgYnVmZmVycywgeW91IGNhbid0Cj4gPiBqdXN0IGNoZXJyeS1waWNrIGZyb20gdGhlIGNh cHR1cmUgcXVldWUsIHlvdSBoYXZlIHRvIHN5bmNocm9uaXNlIHlvdXIgc3RhdGUgd2l0aAo+ID4g dGhlIGZpcm13YXJlIHdoaWxlIGRyYWluaW5nLiBUaGUgaGVscGVyIHNob3VsZCBiZSBzcGxpdCBp biB0d28gcGFydHMgSSBzdXBwb3NlLAo+ID4gYnV0IGN1dHRpbmcgdGhlIGxpbmUgaXNuJ3QgZWFz eS4KPiA+IAo+ID4gVGhyZWFkIHNhZmUgdXNhZ2Ugb2YgdGhlIG51bWVyb3VzIGJvb2xlYW4gaW1w bGljYXRlZCBpbiB0aGUgZHJhaW5pbmcgc3RhdGUgaXMKPiA+IGFsc28gZGlmZmljdWx0LiBUaGVy ZSBpcyBubyBvdGhlciBvcHRpb24gdGhlbiBpbnRyb2R1Y2UgYSBtdXRleCBvciBzcGlubG9jayAo aWYKPiA+IHRoZSBzdGF0ZSBpcyBuZWVkZWQgaW4gam9iX3JlYWR5KCkgaW1wbGVtZW50YXRpb24p IHRvIG1ha2UgdGhpcyB0aHJlYWQgc2FmZSBhbmQKPiA+IHJlbGlhYmxlLgo+IAo+IFJlZ2FyZHMs Cj4gCj4gCUhhbnMKPiAKPiA+IAo+ID4gPiAKPiA+ID4gQnV0IGZvciB0aGlzIHNwZWNpZmljIGZs YWc6IEkgdGhpbmsgaXQgaXMgZmluZSB0byBwdXQgdGhhdCBpbiB0aGUgbTJtIGZyYW1ld29yaywK PiA+ID4ganVzdCBkb2N1bWVudCBhbmQgbmFtZSBpdCB3ZWxsLgo+ID4gCj4gPiBBY2suCj4gPiAK PiA+ID4gCj4gPiA+IFJlZ2FyZHMsCj4gPiA+IAo+ID4gPiAJSGFucwo+ID4gPiAKPiA+ID4gPiAK PiA+ID4gPiByZWdhcmRzLAo+ID4gPiA+IE5pY29sYXMKPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4g PiA+ID4gPiAgICoKPiA+ID4gPiA+ID4gICAqIFF1ZXVlIGZvciBidWZmZXJzIHJlYWR5IHRvIGJl IHByb2Nlc3NlZCBhcyBzb29uIGFzIHRoaXMKPiA+ID4gPiA+ID4gICAqIGluc3RhbmNlIHJlY2Vp dmVzIGFjY2VzcyB0byB0aGUgZGV2aWNlLgo+ID4gPiA+ID4gPiBAQCAtNjksNiArNzksNyBAQCBz dHJ1Y3QgdjRsMl9tMm1fcXVldWVfY3R4IHsKPiA+ID4gPiA+ID4gIAlzcGlubG9ja190CQlyZHlf c3BpbmxvY2s7Cj4gPiA+ID4gPiA+ICAJdTgJCQludW1fcmR5Owo+ID4gPiA+ID4gPiAgCWJvb2wJ CQlidWZmZXJlZDsKPiA+ID4gPiA+ID4gKwlib29sCQkJaWdub3JlX3N0cmVhbWluZzsKPiA+ID4g PiA+ID4gIH07Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gIC8qKgo+ID4gPiA+ID4gPiBAQCAt NTY0LDYgKzU3NSwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdjRsMl9tMm1fc2V0X2RzdF9idWZm ZXJlZChzdHJ1Y3QgdjRsMl9tMm1fY3R4ICptMm1fY3R4LAo+ID4gPiA+ID4gPiAgCW0ybV9jdHgt PmNhcF9xX2N0eC5idWZmZXJlZCA9IGJ1ZmZlcmVkOwo+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4g PiAgCj4gPiA+ID4gPiA+ICtzdGF0aWMgaW5saW5lIHZvaWQgdjRsMl9tMm1fc2V0X2RzdF9pZ25v cmVfc3RyZWFtaW5nKHN0cnVjdCB2NGwyX20ybV9jdHggKm0ybV9jdHgsCj4gPiA+ID4gPiA+ICsJ CQkJCQkgICAgIGJvb2wgaWdub3JlX3N0cmVhbWluZykKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ ID4gKwltMm1fY3R4LT5jYXBfcV9jdHguaWdub3JlX3N0cmVhbWluZyA9IGlnbm9yZV9zdHJlYW1p bmc7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gSSB0 aGluayB0aGlzIGlzIG92ZXJraWxsLCBlc3AuIHdoZW4gdGhlIGZpZWxkIGlzIG1vdmVkIHRvIG0y bV9jdHguIEp1c3QgY2xlYXJseQo+ID4gPiA+ID4gZG9jdW1lbnQgdGhhdCBkcml2ZXJzIGNhbiBz ZXQgdGhpcy4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gUmVnYXJkcywKPiA+ID4gPiA+IAo+ID4gPiA+ ID4gCUhhbnMKPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAgLyoqCj4gPiA+ID4gPiA+ICAgKiB2NGwy X20ybV9jdHhfcmVsZWFzZSgpIC0gcmVsZWFzZSBtMm0gY29udGV4dAo+ID4gPiA+ID4gPiAgICoK PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gCj4gPiAKPiAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==