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=-15.5 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,NICE_REPLY_A,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 5CB24C47082 for ; Mon, 7 Jun 2021 13:30:12 +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 2BDA860FE4 for ; Mon, 7 Jun 2021 13:30:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BDA860FE4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zyF1HpjOoUStzFFd5SlGkuIVDZUL0M2qLl5KhPXYeN8=; b=H3g3hf1AD+UG5F1L03xY72rChp HZOETwtCpkOxAeFteC0GejBgpFtvh9x3zZS0QzM+b/xPDe75CV7VPTUEIb5VgB2JN59UNsSZzt1Pr y7LnTecIbNwxTkB2QFvhlIg69RrujTIw7wwkRWkOrzLSd8b5TTJIDKpcc1rwiKo19kqvHv9KP6Eoy wKMgWerN2V/2KAMh+4uVhxQZw0IbaGD2e9JWsQ1GiLiA2fxSno9HzQhvME3iopVwXHspXmZxgFNXP Op13xPTlDMbNojrstrVN3qOnXBrXthk3z70Zhyzaa4bcDtAKu9j2aoGdpMjcpKMeKyD4RdMAqKn2e shqLz8sw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqFIK-003n24-Po; Mon, 07 Jun 2021 13:27:57 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqFIB-003n05-Qc; Mon, 07 Jun 2021 13:27:50 +0000 Received: from [IPv6:2a01:e0a:4cb:a870:6b79:f23c:29c1:895d] (unknown [IPv6:2a01:e0a:4cb:a870:6b79:f23c:29c1:895d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 839271F42685; Mon, 7 Jun 2021 14:27:44 +0100 (BST) Subject: Re: [PATCH 2/8] media: hantro: Add support of compressed reference buffers To: Ezequiel Garcia , 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 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 References: <20210604130619.491200-1-benjamin.gaignard@collabora.com> <20210604130619.491200-3-benjamin.gaignard@collabora.com> <6c8a685e123ec0a9510f134a5d6a32ed66920700.camel@collabora.com> From: Benjamin Gaignard Message-ID: <9bb1910c-2a6e-49e6-e839-7b677974acf3@collabora.com> Date: Mon, 7 Jun 2021 15:27:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <6c8a685e123ec0a9510f134a5d6a32ed66920700.camel@collabora.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210607_062748_177576_9ACFD560 X-CRM114-Status: GOOD ( 38.43 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CkxlIDA0LzA2LzIwMjEgw6AgMTg6MzIsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IEhp IEJlbmphbWluLAo+Cj4gVGhhbmtzIGZvciB0aGUgcGF0Y2hlcywgdGhleSBsb29rcyByZWFsbHkg bmljZSEKPgo+IE9uIEZyaSwgMjAyMS0wNi0wNCBhdCAxNTowNiArMDIwMCwgQmVuamFtaW4gR2Fp Z25hcmQgd3JvdGU6Cj4+IFJlZmVyZW5jZSBmcmFtZSBjb21wcmVzc2lvbiBpcyBhIGZlYXR1cmUg YWRkZWQgaW4gRzIgZGVjb2RlciB0byBjb21wcmVzcwo+PiBmcmFtZSBidWZmZXJzIHNvIHRoYXQg dGhlIGJhbmR3aWR0aCBvZiBzdG9yaW5nL2xvYWRpbmcgcmVmZXJlbmNlIGZyYW1lcwo+PiBjYW4g YmUgcmVkdWNlZCwgZXNwZWNpYWxseSB3aGVuIHRoZSByZXNvbHV0aW9uIG9mIGRlY29kZWQgc3Ry ZWFtIGlzIG9mCj4+IGhpZ2ggZGVmaW5pdGlvbi4KPj4KPiBDYW4geW91IGRvIHNvbWUgdHJhY2lu ZyB1c2luZyB0aGUgcGVyZm9ybWFuY2UgY291bnRlcnMgaW4gcGF0Y2ggMSwKPiB3aXRoIGFuZCB3 aXRob3V0IHRoaXMgcGF0Y2gsIHdoaWxlIHdlIGFyZSBoZXJlLCBpdCB3b3VsZCBiZSBpbnRlcmVz dGluZwo+IHRvIHJ1biBzb21lIGV4cGVyaW1lbnRzLgo+Cj4gSWYgSSB1bmRlcnN0YW5kIGNvcnJl Y3RseSwgdGhlIEcyIEhFVkMgZW5naW5lIGlzIHByb2R1Y2luZyB0aWxlZCBidWZmZXJzLAo+IHdo aWNoIGFyZSB0aGVuIHBvc3QtcHJvY2Vzc2VkIHRvIE5WMTIuCj4KPiBTbyB0aGlzIGNvbXByZXNz aW9uIGZlYXR1cmUgaXMgY29tcHJlc3NpbmcgdGhlIHRpbGVkIGJ1ZmZlcnMsCj4gdGhlIE5WMTIg YXJlIHN0aWxsIHVuY29tcHJlc3NlZC4gSWYgdGhpcyBpcyB0aGUgY2FzZSwgY291bGQgYWRkCj4g c29tZSBjb21tZW50cyBzb21ld2hlcmUgYWJvdXQgdGhlIGRpZmZlcmVudCBzZXRzIG9mIGJ1ZmZl cnMgaW52b2x2ZWQ/CgpJIHdpbGwgZG8gdGhhdAoKPgo+IEFsc28sIEkgYmVsaWV2ZSBJIG1lbnRp b25lZCB0aGlzIGJlZm9yZSwgaXMgdGhlcmUgYSBwbGFuCj4gdG8gYmUgYWJsZSB0byBleHBvc2Ug dGhlIHRpbGVkIGJ1ZmZlcnMgdG8gdXNlcnNwYWNlIChpLmUuIHdpdGhvdXQKPiB0aGUgTlYxMiBs aW5lYXIgcG9zdC1wcm9jZXNzaW5nKT8gSSB0aGluayB0aGUgZGlzcGxheSBjb250cm9sbGVyCj4g Y2FuIHRha2UgY29tcHJlc3NlZCB0aWxlZC1idWZmZXJzLgoKWWVzIGl0IGNvdWxkIGJlIHBvc3Np YmxlIHRvIHVzZSB2YjIgYnVmZmVycyBpbnN0ZWFkIG9mIGludGVybmFsbHkKYWxsb2NhdGVkIGJ1 ZmZlcnMgYnV0IHRoYXQgd291bGQgbWVhbnMgZGVmaW5lIGEgbmV3IGZvcm1hdC9tb2RpZmllcgpi ZWZvcmUgZG9pbmcgdGhhdC4KCj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQg PGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiAgwqAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgfCAyMCArKysrKysrKysrLS0KPj4g IMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJfcmVncy5oIHzCoCA0ICsr Kwo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19oZXZjLmPCoMKgwqAg fCAzMiArKysrKysrKysrKysrKysrKystCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmjCoMKgwqDCoMKgIHzCoCAyICsrCj4+ICDCoDQgZmlsZXMgY2hhbmdlZCwg NTQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgYi9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9oZXZjX2RlYy5jCj4+IGluZGV4IDg5ZmFjNTE0 NjQzMy4uOWE3MTVlODAzMDM3IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEv aGFudHJvL2hhbnRyb19nMl9oZXZjX2RlYy5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMKPj4gQEAgLTM4MiwxMCArMzgyLDEyIEBAIHN0 YXRpYyBpbnQgc2V0X3JlZihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqDCoMKgwqDCoMKg wqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19wcHMgKnBwcyA9IGN0cmxzLT5wcHM7Cj4+ ICDCoMKgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJh bXMgKmRlY29kZV9wYXJhbXMgPSBjdHJscy0+ZGVjb2RlX3BhcmFtczsKPj4gIMKgwqDCoMKgwqDC oMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9oZXZjX2RwYl9lbnRyeSAqZHBiID0gZGVjb2RlX3BhcmFt cy0+ZHBiOwo+PiAtwqDCoMKgwqDCoMKgwqBkbWFfYWRkcl90IGx1bWFfYWRkciwgY2hyb21hX2Fk ZHIsIG12X2FkZHIgPSAwOwo+PiArwqDCoMKgwqDCoMKgwqBkbWFfYWRkcl90IGx1bWFfYWRkciwg Y2hyb21hX2FkZHIsIG12X2FkZHIsIGNvbXByZXNzX2x1bWFfYWRkciwgY29tcHJlc3NfY2hyb21h X2FkZHIgPSAwOwo+PiAgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fZGV2ICp2cHUgPSBj dHgtPmRldjsKPj4gIMKgwqDCoMKgwqDCoMKgwqBzaXplX3QgY3Jfb2Zmc2V0ID0gaGFudHJvX2hl dmNfY2hyb21hX29mZnNldChzcHMpOwo+PiAgwqDCoMKgwqDCoMKgwqDCoHNpemVfdCBtdl9vZmZz ZXQgPSBoYW50cm9faGV2Y19tb3Rpb25fdmVjdG9yc19vZmZzZXQoc3BzKTsKPj4gK8KgwqDCoMKg wqDCoMKgc2l6ZV90IGNvbXByZXNzX2x1bWFfb2Zmc2V0ID0gaGFudHJvX2hldmNfbHVtYV9jb21w cmVzc19vZmZzZXQoc3BzKTsKPj4gK8KgwqDCoMKgwqDCoMKgc2l6ZV90IGNvbXByZXNzX2Nocm9t YV9vZmZzZXQgPSBoYW50cm9faGV2Y19jaHJvbWFfY29tcHJlc3Nfb2Zmc2V0KHNwcyk7Cj4+ICDC oMKgwqDCoMKgwqDCoMKgdTMyIG1heF9yZWZfZnJhbWVzOwo+PiAgwqDCoMKgwqDCoMKgwqDCoHUx NiBkcGJfbG9uZ3Rlcm1fZTsKPj4gIMKgwqDCoMKgwqDCoMKgwqBzdGF0aWMgY29uc3Qgc3RydWN0 IGhhbnRyb19yZWcgY3VyX3BvY1tdID0gewo+PiBAQCAtNDYwLDYgKzQ2Miw4IEBAIHN0YXRpYyBp bnQgc2V0X3JlZihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgIAo+PiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjaHJvbWFfYWRkciA9IGx1bWFfYWRkciArIGNyX29mZnNldDsK Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbXZfYWRkciA9IGx1bWFfYWRkciAr IG12X29mZnNldDsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbXByZXNzX2x1 bWFfYWRkciA9IGx1bWFfYWRkciArIGNvbXByZXNzX2x1bWFfb2Zmc2V0Owo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgY29tcHJlc3NfY2hyb21hX2FkZHIgPSBsdW1hX2FkZHIgKyBj b21wcmVzc19jaHJvbWFfb2Zmc2V0Owo+PiAgIAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZiAoZHBiW2ldLnJwcyA9PSBWNEwyX0hFVkNfRFBCX0VOVFJZX1JQU19MVF9DVVJS KQo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZHBi X2xvbmd0ZXJtX2UgfD0gQklUKFY0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYIC0gMSAtIGkp Owo+PiBAQCAtNDY3LDYgKzQ3MSw4IEBAIHN0YXRpYyBpbnQgc2V0X3JlZihzdHJ1Y3QgaGFudHJv X2N0eCAqY3R4KQo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fd3Jp dGVfYWRkcih2cHUsIEcyX1JFR19BRERSX1JFRihpKSwgbHVtYV9hZGRyKTsKPj4gIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX3dyaXRlX2FkZHIodnB1LCBHMl9SRUdfQ0hS X1JFRihpKSwgY2hyb21hX2FkZHIpOwo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX1JFR19ETVZfUkVGKGkpLCBtdl9hZGRyKTsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb193cml0ZV9hZGRyKHZwdSwgRzJf Q09NUF9BRERSX1JFRihpKSwgY29tcHJlc3NfbHVtYV9hZGRyKTsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGhhbnRyb193cml0ZV9hZGRyKHZwdSwgRzJfQ09NUF9DSFJfUkVGKGkp LCBjb21wcmVzc19jaHJvbWFfYWRkcik7Cj4gSSdtIGEgYml0IGNvbmZ1c2VkIGhlcmUsIHlvdSBh cmUgc2VlaW5nIGx1bWFfYWRkciBhbmQgYWxzbyBjb21wcmVzc19sdW1hX2FkZHIKPiBmb3IgcmVm ZXJlbmNlcz8/CgpZZXMgYm90aCBhcmUgbmVlZCB0byBtYWtlIHRoaXMgd29yay4gSXQgYWxzbyBk b25lIGxpa2UgdGhhdCBpbiB2ZW5kb3Igc3RhY2suCgo+Cj4gSSdtIG5vdCBzYXlpbmcgdGhpcyBp cyB3cm9uZywganVzdCB3b3VsZCBsaWtlIHNvbWUgY29tbWVudHMgaW4gdGhlIGNvZGUKPiBzbyB0 aGUgaW50ZW50aW9uIGlzIGEgYml0IG1vcmUgY2xlYXIgYW5kIEkgY2FuIHVuZGVyc3RhbmQgd2hh dCdzIGdvaW5nIG9uLgoKSSB3aWxsIGFkZCBjb21tZW50cyB0byBjbGFyaWZ5IHRoYXQgcG9pbnQu CgpCZW5qYW1pbgoKPgo+PiAgwqDCoMKgwqDCoMKgwqDCoH0KPj4gICAKPj4gIMKgwqDCoMKgwqDC oMKgwqBsdW1hX2FkZHIgPSBoYW50cm9faGV2Y19nZXRfcmVmX2J1ZihjdHgsIGRlY29kZV9wYXJh bXMtPnBpY19vcmRlcl9jbnRfdmFsKTsKPj4gQEAgLTQ3NSw3ICs0ODEsMTEgQEAgc3RhdGljIGlu dCBzZXRfcmVmKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4+ICAgCj4+ICDCoMKgwqDCoMKgwqDC oMKgY2hyb21hX2FkZHIgPSBsdW1hX2FkZHIgKyBjcl9vZmZzZXQ7Cj4+ICDCoMKgwqDCoMKgwqDC oMKgbXZfYWRkciA9IGx1bWFfYWRkciArIG12X29mZnNldDsKPj4gK8KgwqDCoMKgwqDCoMKgY29t cHJlc3NfbHVtYV9hZGRyID0gbHVtYV9hZGRyICsgY29tcHJlc3NfbHVtYV9vZmZzZXQ7Cj4+ICvC oMKgwqDCoMKgwqDCoGNvbXByZXNzX2Nocm9tYV9hZGRyID0gbHVtYV9hZGRyICsgY29tcHJlc3Nf Y2hyb21hX29mZnNldDsKPj4gICAKPj4gK8KgwqDCoMKgwqDCoMKgaGFudHJvX3dyaXRlX2FkZHIo dnB1LCBHMl9DT01QX0FERFJfUkVGKGkpLCBjb21wcmVzc19sdW1hX2FkZHIpOwo+PiArwqDCoMKg wqDCoMKgwqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX0NPTVBfQ0hSX1JFRihpKSwgY29tcHJl c3NfY2hyb21hX2FkZHIpOwo+PiAgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb193cml0ZV9hZGRyKHZw dSwgRzJfUkVHX0FERFJfUkVGKGkpLCBsdW1hX2FkZHIpOwo+PiAgwqDCoMKgwqDCoMKgwqDCoGhh bnRyb193cml0ZV9hZGRyKHZwdSwgRzJfUkVHX0NIUl9SRUYoaSksIGNocm9tYV9hZGRyKTsKPj4g IMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX1JFR19ETVZfUkVGKGkr KyksIG12X2FkZHIpOwo+PiBAQCAtNDgzLDYgKzQ5Myw4IEBAIHN0YXRpYyBpbnQgc2V0X3JlZihz dHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb193cml0ZV9h ZGRyKHZwdSwgRzJfQUREUl9EU1QsIGx1bWFfYWRkcik7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgaGFu dHJvX3dyaXRlX2FkZHIodnB1LCBHMl9BRERSX0RTVF9DSFIsIGNocm9tYV9hZGRyKTsKPj4gIMKg wqDCoMKgwqDCoMKgwqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX0FERFJfRFNUX01WLCBtdl9h ZGRyKTsKPj4gK8KgwqDCoMKgwqDCoMKgaGFudHJvX3dyaXRlX2FkZHIodnB1LCBHMl9DT01QX0FE RFJfRFNULCBjb21wcmVzc19sdW1hX2FkZHIpOwo+PiArwqDCoMKgwqDCoMKgwqBoYW50cm9fd3Jp dGVfYWRkcih2cHUsIEcyX0NPTVBfQ0hSLCBjb21wcmVzc19jaHJvbWFfYWRkcik7Cj4+ICAgCj4+ ICDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2hldmNfcmVmX3JlbW92ZV91bnVzZWQoY3R4KTsKPj4g ICAKPj4gQEAgLTQ5MCw2ICs1MDIsOCBAQCBzdGF0aWMgaW50IHNldF9yZWYoc3RydWN0IGhhbnRy b19jdHggKmN0eCkKPj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX3dy aXRlX2FkZHIodnB1LCBHMl9SRUdfQUREUl9SRUYoaSksIDApOwo+PiAgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX1JFR19DSFJfUkVGKGkp LCAwKTsKPj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX3dyaXRlX2Fk ZHIodnB1LCBHMl9SRUdfRE1WX1JFRihpKSwgMCk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBoYW50cm9fd3JpdGVfYWRkcih2cHUsIEcyX0NPTVBfQUREUl9SRUYoaSksIDApOwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX3dyaXRlX2FkZHIodnB1LCBH Ml9DT01QX0NIUl9SRUYoaSksIDApOwo+PiAgwqDCoMKgwqDCoMKgwqDCoH0KPj4gICAKPj4gIMKg wqDCoMKgwqDCoMKgwqBoYW50cm9fcmVnX3dyaXRlKHZwdSwgJmcyX3JlZmVyX2x0ZXJtX2UsIGRw Yl9sb25ndGVybV9lKTsKPj4gQEAgLTU4MCw4ICs1OTQsOCBAQCBpbnQgaGFudHJvX2cyX2hldmNf ZGVjX3J1bihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqDCoMKgwqDCoMKgwqDCoC8qIERv bid0IGRpc2FibGUgb3V0cHV0ICovCj4+ICDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX3JlZ193cml0 ZSh2cHUsICZnMl9vdXRfZGlzLCAwKTsKPj4gICAKPj4gLcKgwqDCoMKgwqDCoMKgLyogRG9uJ3Qg Y29tcHJlc3MgYnVmZmVycyAqLwo+PiAtwqDCoMKgwqDCoMKgwqBoYW50cm9fcmVnX3dyaXRlKHZw dSwgJmcyX3JlZl9jb21wcmVzc19ieXBhc3MsIDEpOwo+PiArwqDCoMKgwqDCoMKgwqAvKiBDb21w cmVzcyBidWZmZXJzICovCj4+ICvCoMKgwqDCoMKgwqDCoGhhbnRyb19yZWdfd3JpdGUodnB1LCAm ZzJfcmVmX2NvbXByZXNzX2J5cGFzcywgMCk7Cj4+ICAgCj4+ICDCoMKgwqDCoMKgwqDCoMKgLyog dXNlIE5WMTIgYXMgb3V0cHV0IGZvcm1hdCAqLwo+PiAgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19y ZWdfd3JpdGUodnB1LCAmZzJfb3V0X3JzX2UsIDEpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9z dGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJfcmVncy5oIGIvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9fZzJfcmVncy5oCj4+IGluZGV4IDE3ZDg0ZWM5YzVjMi4uMDQxNGQ5 MmUzODYwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19nMl9yZWdzLmgKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9f ZzJfcmVncy5oCj4+IEBAIC0xOTIsNiArMTkyLDEwIEBACj4+ICDCoCNkZWZpbmUgRzJfVElMRV9G SUxURVLCoMKgwqDCoMKgwqDCoMKgwqAoRzJfU1dSRUcoMTc5KSkKPj4gIMKgI2RlZmluZSBHMl9U SUxFX1NBT8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoChHMl9TV1JFRygxODEpKQo+PiAgwqAjZGVm aW5lIEcyX1RJTEVfQlNEwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKEcyX1NXUkVHKDE4MykpCj4+ ICsjZGVmaW5lIEcyX0NPTVBfQUREUl9EU1TCoMKgwqDCoMKgwqDCoChHMl9TV1JFRygxOTApKQo+ PiArI2RlZmluZSBHMl9DT01QX0FERFJfUkVGKGkpwqDCoMKgwqAoRzJfU1dSRUcoMTkyKSArICgo aSkgKiAweDgpKQo+PiArI2RlZmluZSBHMl9DT01QX0NIUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oChHMl9TV1JFRygyMjQpKQo+PiArI2RlZmluZSBHMl9DT01QX0NIUl9SRUYoaSnCoMKgwqDCoMKg KEcyX1NXUkVHKDIyNikgKyAoKGkpICogMHg4KSkKPj4gICAKPj4gIMKgI2RlZmluZSBnMl9zdHJt X2J1ZmZlcl9sZW7CoMKgwqDCoMKgRzJfREVDX1JFRygyNTgsIDAsIDB4ZmZmZmZmZmYpCj4+ICDC oCNkZWZpbmUgZzJfc3RybV9zdGFydF9vZmZzZXTCoMKgwqBHMl9ERUNfUkVHKDI1OSwgMCwgMHhm ZmZmZmZmZikKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2hldmMuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYwo+ PiBpbmRleCA1MzQ3ZjVhNDFjMmEuLjFiMmRhOTkwZmJmMCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2Yy5jCj4+ICsrKyBiL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYwo+PiBAQCAtNjEsMTIgKzYxLDQyIEBAIHN0 YXRpYyBzaXplX3QgaGFudHJvX2hldmNfbXZfc2l6ZShjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hl dmNfc3BzICpzcHMpCj4+ICDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIG12X3NpemU7Cj4+ICDCoH0K Pj4gICAKPj4gK3NpemVfdCBoYW50cm9faGV2Y19sdW1hX2NvbXByZXNzX29mZnNldChjb25zdCBz dHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHMpCj4+ICt7Cj4+ICvCoMKgwqDCoMKgwqDCoHJl dHVybiBoYW50cm9faGV2Y19tb3Rpb25fdmVjdG9yc19vZmZzZXQoc3BzKSArIGhhbnRyb19oZXZj X212X3NpemUoc3BzKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHNpemVfdCBoYW50cm9faGV2Y19s dW1hX2NvbXByZXNzX3NpemUoY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAqc3BzKQo+ PiArewo+PiArwqDCoMKgwqDCoMKgwqB1MzIgcGljX3dpZHRoX2luX2Nic3kgPQo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcm91bmRfdXAoKHNwcy0+cGljX3dpZHRoX2luX2x1bWFf c2FtcGxlcyArIDggLSAxKSAvIDgsIDE2KTsKPj4gK8KgwqDCoMKgwqDCoMKgdTMyIHBpY19oZWln aHRfaW5fY2JzeSA9IChzcHMtPnBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzICsgOCAtIDEpIC8g ODsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqByZXR1cm4gcm91bmRfdXAocGljX3dpZHRoX2luX2Ni c3kgKiBwaWNfaGVpZ2h0X2luX2Nic3ksIDE2KTsKPj4gK30KPj4gKwo+PiArc2l6ZV90IGhhbnRy b19oZXZjX2Nocm9tYV9jb21wcmVzc19vZmZzZXQoY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZj X3NwcyAqc3BzKQo+PiArewo+PiArwqDCoMKgwqDCoMKgwqByZXR1cm4gaGFudHJvX2hldmNfbHVt YV9jb21wcmVzc19vZmZzZXQoc3BzKSArIGhhbnRyb19oZXZjX2x1bWFfY29tcHJlc3Nfc2l6ZShz cHMpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgc2l6ZV90IGhhbnRyb19oZXZjX2Nocm9tYV9jb21w cmVzc19zaXplKGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMgKnNwcykKPj4gK3sKPj4g K8KgwqDCoMKgwqDCoMKgdTMyIHBpY193aWR0aF9pbl9jYnNjID0KPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHJvdW5kX3VwKChzcHMtPnBpY193aWR0aF9pbl9sdW1hX3NhbXBsZXMg KyAxNiAtIDEpIC8gMTYsIDE2KTsKPj4gK8KgwqDCoMKgwqDCoMKgdTMyIHBpY19oZWlnaHRfaW5f Y2JzYyA9IChzcHMtPnBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzIC8gMiArIDQgLSAxKSAvIDQ7 Cj4+ICsKPiBDYW4gd2UgZ2V0IHNvbWUgI2RlZmluZXMgZm9yIHRoZXNlIG1hZ2ljIG51bWJlcnM/ Cj4KPj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIHJvdW5kX3VwKHBpY193aWR0aF9pbl9jYnNjICog cGljX2hlaWdodF9pbl9jYnNjLCAxNik7Cj4+ICt9Cj4+ICsKPj4gIMKgc3RhdGljIHNpemVfdCBo YW50cm9faGV2Y19yZWZfc2l6ZShzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqB7Cj4+ICDC oMKgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IGhhbnRyb19oZXZjX2RlY19jdHJscyAqY3RybHMg PSAmY3R4LT5oZXZjX2RlYy5jdHJsczsKPj4gIMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3Qg djRsMl9jdHJsX2hldmNfc3BzICpzcHMgPSBjdHJscy0+c3BzOwo+PiAgIAo+PiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gaGFudHJvX2hldmNfbW90aW9uX3ZlY3RvcnNfb2Zmc2V0KHNwcykgKyBoYW50 cm9faGV2Y19tdl9zaXplKHNwcyk7Cj4+ICvCoMKgwqDCoMKgwqDCoHJldHVybiBoYW50cm9faGV2 Y19tb3Rpb25fdmVjdG9yc19vZmZzZXQoc3BzKSArIGhhbnRyb19oZXZjX212X3NpemUoc3BzKSAr Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoYW50cm9faGV2Y19sdW1hX2NvbXByZXNz X3NpemUoc3BzKSArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoYW50cm9faGV2Y19j aHJvbWFfY29tcHJlc3Nfc2l6ZShzcHMpOwo+PiAgwqB9Cj4+ICAgCj4+ICDCoHN0YXRpYyB2b2lk IGhhbnRyb19oZXZjX3JlZl9mcmVlKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oIGIvZHJpdmVycy9z dGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+PiBpbmRleCA4ZmEwYWFjYjYxY2QuLmM1 Mzc0Y2Q3NGQ2NiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9o YW50cm9faHcuaAo+PiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19o dy5oCj4+IEBAIC0yNDYsNiArMjQ2LDggQEAgZG1hX2FkZHJfdCBoYW50cm9faGV2Y19nZXRfcmVm X2J1ZihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4LCBpbnQgcG9jKTsKPj4gIMKgdm9pZCBoYW50cm9f aGV2Y19yZWZfcmVtb3ZlX3VudXNlZChzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KTsKPj4gIMKgc2l6 ZV90IGhhbnRyb19oZXZjX2Nocm9tYV9vZmZzZXQoY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZj X3NwcyAqc3BzKTsKPj4gIMKgc2l6ZV90IGhhbnRyb19oZXZjX21vdGlvbl92ZWN0b3JzX29mZnNl dChjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHMpOwo+PiArc2l6ZV90IGhhbnRy b19oZXZjX2x1bWFfY29tcHJlc3Nfb2Zmc2V0KGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19z cHMgKnNwcyk7Cj4+ICtzaXplX3QgaGFudHJvX2hldmNfY2hyb21hX2NvbXByZXNzX29mZnNldChj b25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHMpOwo+PiAgIAo+PiAgwqBzdGF0aWMg aW5saW5lIHNpemVfdAo+PiAgwqBoYW50cm9faDI2NF9tdl9zaXplKHVuc2lnbmVkIGludCB3aWR0 aCwgdW5zaWduZWQgaW50IGhlaWdodCkKPiBUaGFua3MsCj4gRXplcXVpZWwKPgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=