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=-14.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY 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 6A43CC4338F for ; Tue, 3 Aug 2021 19:30:02 +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 26FBF60EC0 for ; Tue, 3 Aug 2021 19:30:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 26FBF60EC0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=E7HzxK2Uui3XfR65if2qW1xSTsBmC6DgB/eACMyWK3U=; b=xGzZMfF8p1inJc j2jM4SqoWej60+4S7UgfaL4h4bWMbiQkuNptkPtQcSI3x2wBhfF0hkzzU7sLXCTFZxFuBHyKlxAge 7K5grpdUHfepVzvup5iWVNOEme1RmB9dheNyqw47AwFugiTscTojECtnBiS3tgd/Mz6oXa/rk//Gv Ffz9G3rCM75ssbGgWxRFT6XuGnnZ6Jgc7WIYeg/IVBqjT4TNgctMQSh6W8nNHTP9Pm/YPcsbpZNLY wgf9VxWxeC4h4vD0iwODpo39NyKZbxAZKb2xLj7EqTvbAwCOMvAsQ5BPI4IwTIVT50e5FCYaNT3/D vVZCORugGJpxLzyAhX+Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mB05F-0043I1-D1; Tue, 03 Aug 2021 19:28:13 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mB055-0043H0-0b; Tue, 03 Aug 2021 19:28:05 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id 42EF81F43412 Message-ID: Subject: Re: [PATCH v1 2/2] media: hantro: Add scaling lists feature From: Ezequiel Garcia To: Benjamin Gaignard , hverkuil@xs4all.nl, p.zabel@pengutronix.de, mchehab@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, emil.l.velikov@gmail.com, andrzej.p@collabora.com, jc@kynesim.co.uk, jernej.skrabec@gmail.com, nicolas@ndufresne.ca, cphealy@gmail.com Cc: kernel@pengutronix.de, linux-imx@nxp.com, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Tue, 03 Aug 2021 16:27:49 -0300 In-Reply-To: <1c3d2d66902978e3533074b4d95c8da220cab255.camel@collabora.com> References: <20210715151223.656453-1-benjamin.gaignard@collabora.com> <20210715151223.656453-3-benjamin.gaignard@collabora.com> <1c3d2d66902978e3533074b4d95c8da220cab255.camel@collabora.com> Organization: Collabora User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210803_122803_355316_5A7A121C X-CRM114-Status: GOOD ( 28.31 ) 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 T24gVHVlLCAyMDIxLTA4LTAzIGF0IDE2OjE1IC0wMzAwLCBFemVxdWllbCBHYXJjaWEgd3JvdGU6 Cj4gT24gVGh1LCAyMDIxLTA3LTE1IGF0IDE3OjEyICswMjAwLCBCZW5qYW1pbiBHYWlnbmFyZCB3 cm90ZToKPiA+IElmIHRoZSBiaXRzdHJlYW0gZW1iZWRkZWQgc2NhbGluZyBsaXN0cyBhbGxvdyB0 aGUgZHJpdmVyIHRvIHVzZQo+ID4gdGhlbSBmb3IgZGVjb2RlIHRoZSBmcmFtZXMuCj4gPiBUaGUg c2NhbGluZyBsaXN0cyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW4gcmFzdGVyIHNjYW4gb3JkZXIgKGku ZS4gbm90IHVwCj4gPiByaWdodCBkaWFnb25hbCBzY2FuIG9yZGVyKQo+ID4gQWxsb2NhdGUgdGhl IG1lbW9yeSBuZWVkZWQgdG8gc3RvcmUgbGlzdHMuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEJl bmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEuY29tPgo+IAo+IFJl dmlld2VkLWJ5OiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQGNvbGxhYm9yYS5jb20+Cj4gCgpG b3Jnb3QgdG8gbWVudGlvbiB0aGF0IEkgY291bGRuJ3QgYXBwbHkgdGhpcyBwYXRjaCwKc28gbXkg Ui1iIGFzc3VtZXMgdGhpcyBpcyB0ZXN0ZWQgYW5kIHBhc3NlcyB0aGUgdXN1YWwgdGVzdHMuCgpU aGFua3MhCkV6ZXF1aWVsCgo+IFRoYW5rcyEKPiAKPiA+IC0tLQo+ID4gwqBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuY8KgwqDCoMKgIHzCoCA4ICstLQo+ID4gwqAuLi4v c3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgfCA1MiArKysrKysrKysr KysrKysrKysrCj4gPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMu Y8KgwqDCoCB8IDIxICsrKysrKysrCj4gPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v aGFudHJvX2h3LmjCoMKgwqDCoMKgIHzCoCAzICsrCj4gPiDCoDQgZmlsZXMgY2hhbmdlZCwgODEg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jIGIvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPiA+IGluZGV4IDhhZDA3NGE0NjRmZS4uNTYxMGI3ODIx YTU0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9f ZHJ2LmMKPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5j Cj4gPiBAQCAtMjY3LDkgKzI2Nyw2IEBAIHN0YXRpYyBpbnQgaGFudHJvX3RyeV9jdHJsKHN0cnVj dCB2NGwyX2N0cmwgKmN0cmwpCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBzcHMtPmJpdF9kZXB0aF9sdW1hX21pbnVzOCAhPSAyKQo+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyogT25seSA4LWJpdCBvciAxMC1iaXQg aXMgc3VwcG9ydGVkICovCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpZiAoc3BzLT5mbGFncyAmIFY0TDJfSEVWQ19TUFNfRkxBR19TQ0FMSU5HX0xJU1RfRU5B QkxFRCkKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg LyogTm8gc2NhbGluZyBzdXBwb3J0ICovCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUlOVkFMOwo+ID4gwqDCoMKgwqDCoMKgwqDCoH0K PiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiA+IMKgfQo+ID4gQEAgLTQ1MSw2ICs0NDgs MTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fY3RybCBjb250cm9sc1tdID0gewo+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY2ZnID0gewo+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmlkID0gVjRMMl9DSURfTVBFR19W SURFT19IRVZDX0RFQ09ERV9QQVJBTVMsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoH0sCj4gPiArwqDCoMKgwqDCoMKgwqB9LCB7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgLmNvZGVjID0gSEFOVFJPX0hFVkNfREVDT0RFUiwKPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAuY2ZnID0gewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAuaWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfU0NBTElO R19NQVRSSVgsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPiA+IMKgwqDC oMKgwqDCoMKgwqB9LCB7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5jb2Rl YyA9IEhBTlRST19IRVZDX0RFQ09ERVIsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoC5jZmcgPSB7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9fZzJfaGV2Y19kZWMuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2cyX2hldmNfZGVjLmMKPiA+IGluZGV4IDkwZGU3NGFhNmIxMy4uZjk1MTM1YWQ1NTNjIDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJfaGV2 Y19kZWMuYwo+ID4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJf aGV2Y19kZWMuYwo+ID4gQEAgLTYwOCw2ICs2MDgsNTYgQEAgc3RhdGljIHZvaWQgc2V0X2J1ZmZl cnMoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiA+IMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fd3Jp dGVfYWRkcih2cHUsIEcyX1RJTEVfQlNELCBjdHgtPmhldmNfZGVjLnRpbGVfYnNkLmRtYSk7Cj4g PiDCoH0KPiA+IMKgCj4gPiArc3RhdGljIHZvaWQgcHJlcGFyZV9zY2FsaW5nX2xpc3RfYnVmZmVy KHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gPiArewo+ID4gK8KgwqDCoMKgwqDCoMKgc3RydWN0 IGhhbnRyb19kZXYgKnZwdSA9IGN0eC0+ZGV2Owo+ID4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3Ry dWN0IGhhbnRyb19oZXZjX2RlY19jdHJscyAqY3RybHMgPSAmY3R4LT5oZXZjX2RlYy5jdHJsczsK PiA+ICvCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zY2FsaW5nX21h dHJpeCAqc2MgPSBjdHJscy0+c2NhbGluZzsKPiA+ICvCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVj dCB2NGwyX2N0cmxfaGV2Y19zcHMgKnNwcyA9IGN0cmxzLT5zcHM7Cj4gPiArwqDCoMKgwqDCoMKg wqB1OCAqcCA9ICgodTggKiljdHgtPmhldmNfZGVjLnNjYWxpbmdfbGlzdHMuY3B1KTsKPiA+ICvC oMKgwqDCoMKgwqDCoHVuc2lnbmVkIGludCBzY2FsaW5nX2xpc3RfZW5hYmxlZDsKPiA+ICvCoMKg wqDCoMKgwqDCoHVuc2lnbmVkIGludCBpLCBqLCBrOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKg c2NhbGluZ19saXN0X2VuYWJsZWQgPSAhIShzcHMtPmZsYWdzICYgVjRMMl9IRVZDX1NQU19GTEFH X1NDQUxJTkdfTElTVF9FTkFCTEVEKTsKPiA+ICvCoMKgwqDCoMKgwqDCoGhhbnRyb19yZWdfd3Jp dGUodnB1LCAmZzJfc2NhbGluZ19saXN0X2UsIHNjYWxpbmdfbGlzdF9lbmFibGVkKTsKPiA+ICsK PiA+ICvCoMKgwqDCoMKgwqDCoGlmICghc2NhbGluZ19saXN0X2VuYWJsZWQpCj4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKg Zm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2MtPnNjYWxpbmdfbGlzdF9kY19jb2VmXzE2eDE2 KTsgaSsrKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCpwKysgPSBzYy0+c2Nh bGluZ19saXN0X2RjX2NvZWZfMTZ4MTZbaV07Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqBmb3Ig KGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYy0+c2NhbGluZ19saXN0X2RjX2NvZWZfMzJ4MzIpOyBp KyspCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKnArKyA9IHNjLT5zY2FsaW5n X2xpc3RfZGNfY29lZl8zMngzMltpXTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoC8qIDEyOC1i aXQgYm91bmRhcnkgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoHAgKz0gODsKPiA+ICsKPiA+ICvCoMKg wqDCoMKgwqDCoC8qIHdyaXRlIHNjYWxpbmcgbGlzdHMgY29sdW1uIGJ5IGNvbHVtbiAqLwo+ID4g Kwo+ID4gK8KgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IDY7IGkrKykKPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGogPSAwOyBqIDwgNDsgaisrKQo+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGsgPSAwOyBrIDwg NDsgaysrKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgKnArKyA9IHNjLT5zY2FsaW5nX2xpc3RfNHg0W2ldWzQgKiBrICsg al07Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQo+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9IDA7IGogPCA4OyBqKyspCj4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoayA9 IDA7IGsgPCA4OyBrKyspCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAqcCsrID0gc2MtPnNjYWxpbmdfbGlzdF84eDhbaV1b OCAqIGsgKyBqXTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCA2OyBp KyspCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChqID0gMDsgaiA8IDg7 IGorKykKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Zm9yIChrID0gMDsgayA8IDg7IGsrKykKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCpwKysgPSBzYy0+c2NhbGluZ19saXN0 XzE2eDE2W2ldWzggKiBrICsgal07Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAw OyBpIDwgMjsgaSsrKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9 IDA7IGogPCA4OyBqKyspCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvciAoayA9IDA7IGsgPCA4OyBrKyspCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAqcCsrID0gc2MtPnNj YWxpbmdfbGlzdF8zMngzMltpXVs4ICogayArIGpdOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKg aGFudHJvX3dyaXRlX2FkZHIodnB1LCBIRVZDX1NDQUxJTkdfTElTVCwgY3R4LT5oZXZjX2RlYy5z Y2FsaW5nX2xpc3RzLmRtYSk7Cj4gPiArfQo+ID4gKwo+ID4gwqBzdGF0aWMgdm9pZCBoYW50cm9f ZzJfY2hlY2tfaWRsZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gwqB7Cj4gPiDCoMKgwqDC oMKgwqDCoMKgaW50IGk7Cj4gPiBAQCAtNjY4LDYgKzcxOCw4IEBAIGludCBoYW50cm9fZzJfaGV2 Y19kZWNfcnVuKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gPiDCoMKgwqDCoMKgwqDCoMKgc2V0 X2J1ZmZlcnMoY3R4KTsKPiA+IMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJlX3RpbGVfaW5mb19idWZm ZXIoY3R4KTsKPiA+IMKgCj4gPiArwqDCoMKgwqDCoMKgwqBwcmVwYXJlX3NjYWxpbmdfbGlzdF9i dWZmZXIoY3R4KTsKPiA+ICsKPiA+IMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fZW5kX3ByZXBhcmVf cnVuKGN0eCk7Cj4gPiDCoAo+ID4gwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19yZWdfd3JpdGUodnB1 LCAmZzJfbW9kZSwgSEVWQ19ERUNfTU9ERSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2Yy5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hh bnRyby9oYW50cm9faGV2Yy5jCj4gPiBpbmRleCA0ZTgxNmVhNzMwMTguLjk1Zjc2NWQ5ZmY0ZSAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMu Ywo+ID4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2Yy5jCj4g PiBAQCAtMjAsNiArMjAsOCBAQAo+ID4gwqAvKiB0aWxlIGJvcmRlciBjb2VmZmljaWVudHMgb2Yg ZmlsdGVyICovCj4gPiDCoCNkZWZpbmUgVkVSVF9TQU9fUkFNX1NJWkUgNDggLyogYnl0ZXMgcGVy IHBpeGVsICovCj4gPiDCoAo+ID4gKyNkZWZpbmUgU0NBTElOR19MSVNUX1NJWkUgKDE2ICogNjQp Cj4gPiArCj4gPiDCoCNkZWZpbmUgTUFYX1RJTEVfQ09MUyAyMAo+ID4gwqAjZGVmaW5lIE1BWF9U SUxFX1JPV1MgMjIKPiA+IMKgCj4gPiBAQCAtMjk2LDYgKzI5OCwxMSBAQCBpbnQgaGFudHJvX2hl dmNfZGVjX3ByZXBhcmVfcnVuKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gPiDCoMKgwqDCoMKg wqDCoMKgaWYgKFdBUk5fT04oIWN0cmxzLT5kZWNvZGVfcGFyYW1zKSkKPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5WQUw7Cj4gPiDCoAo+ID4gK8KgwqDCoMKg wqDCoMKgY3RybHMtPnNjYWxpbmcgPQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGhhbnRyb19nZXRfY3RybChjdHgsIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19TQ0FMSU5HX01B VFJJWCk7Cj4gPiArwqDCoMKgwqDCoMKgwqBpZiAoV0FSTl9PTighY3RybHMtPnNjYWxpbmcpKQo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUlOVkFMOwo+ID4gKwo+ ID4gwqDCoMKgwqDCoMKgwqDCoGN0cmxzLT5zcHMgPQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBoYW50cm9fZ2V0X2N0cmwoY3R4LCBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNf U1BTKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAoV0FSTl9PTighY3RybHMtPnNwcykpCj4gPiBA QCAtMzI0LDYgKzMzMSwxMiBAQCB2b2lkIGhhbnRyb19oZXZjX2RlY19leGl0KHN0cnVjdCBoYW50 cm9fY3R4ICpjdHgpCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaGV2Y19kZWMtPnRpbGVfc2l6ZXMuZG1hKTsKPiA+ IMKgwqDCoMKgwqDCoMKgwqBoZXZjX2RlYy0+dGlsZV9zaXplcy5jcHUgPSBOVUxMOwo+ID4gwqAK PiA+ICvCoMKgwqDCoMKgwqDCoGlmIChoZXZjX2RlYy0+c2NhbGluZ19saXN0cy5jcHUpCj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZG1hX2ZyZWVfY29oZXJlbnQodnB1LT5kZXYs IGhldmNfZGVjLT5zY2FsaW5nX2xpc3RzLnNpemUsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoZXZjX2RlYy0+c2Nh bGluZ19saXN0cy5jcHUsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoZXZjX2RlYy0+c2NhbGluZ19saXN0cy5kbWEp Owo+ID4gK8KgwqDCoMKgwqDCoMKgaGV2Y19kZWMtPnNjYWxpbmdfbGlzdHMuY3B1ID0gTlVMTDsK PiA+ICsKPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAoaGV2Y19kZWMtPnRpbGVfZmlsdGVyLmNwdSkK PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZG1hX2ZyZWVfY29oZXJlbnQodnB1 LT5kZXYsIGhldmNfZGVjLT50aWxlX2ZpbHRlci5zaXplLAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGhldmNfZGVj LT50aWxlX2ZpbHRlci5jcHUsCj4gPiBAQCAtMzY3LDYgKzM4MCwxNCBAQCBpbnQgaGFudHJvX2hl dmNfZGVjX2luaXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiA+IMKgCj4gPiDCoMKgwqDCoMKg wqDCoMKgaGV2Y19kZWMtPnRpbGVfc2l6ZXMuc2l6ZSA9IHNpemU7Cj4gPiDCoAo+ID4gK8KgwqDC oMKgwqDCoMKgaGV2Y19kZWMtPnNjYWxpbmdfbGlzdHMuY3B1ID0gZG1hX2FsbG9jX2NvaGVyZW50 KHZwdS0+ZGV2LCBTQ0FMSU5HX0xJU1RfU0laRSwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmaGV2Y19kZWMtPnNjYWxpbmdfbGlzdHMu ZG1hLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIEdGUF9LRVJORUwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKCFoZXZjX2RlYy0+c2Nh bGluZ19saXN0cy5jcHUpCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IC1FTk9NRU07Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqBoZXZjX2RlYy0+c2NhbGluZ19saXN0 cy5zaXplID0gU0NBTElOR19MSVNUX1NJWkU7Cj4gPiArCj4gPiDCoMKgwqDCoMKgwqDCoMKgaGFu dHJvX2hldmNfcmVmX2luaXQoY3R4KTsKPiA+IMKgCj4gPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9f aHcuaCBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiA+IGluZGV4 IGQ4MTI2ZjgxNzhmNS4uMWJlY2MyMmFmMGY5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+ID4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9faHcuaAo+ID4gQEAgLTEwOCw2ICsxMDgsNyBAQCBzdHJ1Y3QgaGFu dHJvX2gyNjRfZGVjX2h3X2N0eCB7Cj4gPiDCoCAqLwo+ID4gwqBzdHJ1Y3QgaGFudHJvX2hldmNf ZGVjX2N0cmxzIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hl dmNfZGVjb2RlX3BhcmFtcyAqZGVjb2RlX3BhcmFtczsKPiA+ICvCoMKgwqDCoMKgwqDCoGNvbnN0 IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zY2FsaW5nX21hdHJpeCAqc2NhbGluZzsKPiA+IMKgwqDC oMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHM7Cj4gPiDCoMKg wqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3BwcyAqcHBzOwo+ID4gwqDC oMKgwqDCoMKgwqDCoHUzMiBoZXZjX2hkcl9za2lwX2xlbmd0aDsKPiA+IEBAIC0xMjAsNiArMTIx LDcgQEAgc3RydWN0IGhhbnRyb19oZXZjX2RlY19jdHJscyB7Cj4gPiDCoCAqIEB0aWxlX3NhbzrC oMKgwqDCoMKgwqDCoMKgwqDCoFRpbGUgU0FPIGJ1ZmZlcgo+ID4gwqAgKiBAdGlsZV9ic2Q6wqDC oMKgwqDCoMKgwqDCoMKgwqBUaWxlIEJTRCBjb250cm9sIGJ1ZmZlcgo+ID4gwqAgKiBAcmVmX2J1 ZnM6wqDCoMKgwqDCoMKgwqDCoMKgwqBJbnRlcm5hbCByZWZlcmVuY2UgYnVmZmVycwo+ID4gKyAq IEBzY2FsaW5nX2xpc3RzOsKgwqDCoMKgwqBTY2FsaW5nIGxpc3RzIGJ1ZmZlcgo+ID4gwqAgKiBA cmVmX2J1ZnNfcG9jOsKgwqDCoMKgwqDCoEludGVybmFsIHJlZmVyZW5jZSBidWZmZXJzIHBpY3R1 cmUgb3JkZXIgY291bnQKPiA+IMKgICogQHJlZl9idWZzX3VzZWQ6wqDCoMKgwqDCoEJpdGZpZWxk IG9mIHVzZWQgcmVmZXJlbmNlIGJ1ZmZlcnMKPiA+IMKgICogQGN0cmxzOsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgVjRMMiBjb250cm9scyBhdHRhY2hlZCB0byBhIHJ1bgo+ID4gQEAgLTEzMSw2 ICsxMzMsNyBAQCBzdHJ1Y3QgaGFudHJvX2hldmNfZGVjX2h3X2N0eCB7Cj4gPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IGhhbnRyb19hdXhfYnVmIHRpbGVfc2FvOwo+ID4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBoYW50cm9fYXV4X2J1ZiB0aWxlX2JzZDsKPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaGFudHJvX2F1eF9idWYgcmVmX2J1ZnNbTlVNX1JFRl9QSUNUVVJFU107Cj4gPiArwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgaGFudHJvX2F1eF9idWYgc2NhbGluZ19saXN0czsKPiA+IMKgwqDCoMKg wqDCoMKgwqBpbnQgcmVmX2J1ZnNfcG9jW05VTV9SRUZfUElDVFVSRVNdOwo+ID4gwqDCoMKgwqDC oMKgwqDCoHUzMiByZWZfYnVmc191c2VkOwo+ID4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50 cm9faGV2Y19kZWNfY3RybHMgY3RybHM7Cj4gCgotLSAKS2luZGx5LApFemVxdWllbAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK