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 73808C4338F for ; Tue, 3 Aug 2021 19:17:59 +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 4464561037 for ; Tue, 3 Aug 2021 19:17:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4464561037 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=yHzysdY9drvCRZo620yvc89vWa/dcL6c74aE0a+nOwQ=; b=fhbYoLZN8Ywjtn z3xKo78LZFBSlhGAFDtuy/BxPZsKHgNSMD7JDnj4wzjuUj+23LXlLHKn9NhFKxQikoNMDA5qDYXo1 THsIEkDV/Ma838Uy0Kbi8SEihQmqMjjEOBwsD4bUIBWLElgI9Rl4tpqrEG3g/IHSlNsYCiE/2aczg kcTnLRuKO0MEa5T/Vio+ZFidFLo80QeYT5CaxKfKJa75fxZOiFm6PEyhvFwhJkFxV/v/skyl8Xuh0 fqQbsay/pdcAM7PU5lXaghERMmcW9XjQshcQak7DlbzPfiueFHz7DAkTiev5cqofL2aJny0SpS0T2 NzPr0xJUVQ4Z74fxyvRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mAztP-0041Po-NC; Tue, 03 Aug 2021 19:15:59 +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 1mAztK-0041Op-W4; Tue, 03 Aug 2021 19:15:57 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id A59401F4282D Message-ID: <1c3d2d66902978e3533074b4d95c8da220cab255.camel@collabora.com> 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:15:39 -0300 In-Reply-To: <20210715151223.656453-3-benjamin.gaignard@collabora.com> References: <20210715151223.656453-1-benjamin.gaignard@collabora.com> <20210715151223.656453-3-benjamin.gaignard@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_121555_344986_30F5C7F3 X-CRM114-Status: GOOD ( 26.60 ) 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 T24gVGh1LCAyMDIxLTA3LTE1IGF0IDE3OjEyICswMjAwLCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90 ZToKPiBJZiB0aGUgYml0c3RyZWFtIGVtYmVkZGVkIHNjYWxpbmcgbGlzdHMgYWxsb3cgdGhlIGRy aXZlciB0byB1c2UKPiB0aGVtIGZvciBkZWNvZGUgdGhlIGZyYW1lcy4KPiBUaGUgc2NhbGluZyBs aXN0cyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW4gcmFzdGVyIHNjYW4gb3JkZXIgKGkuZS4gbm90IHVw Cj4gcmlnaHQgZGlhZ29uYWwgc2NhbiBvcmRlcikKPiBBbGxvY2F0ZSB0aGUgbWVtb3J5IG5lZWRl ZCB0byBzdG9yZSBsaXN0cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8 YmVuamFtaW4uZ2FpZ25hcmRAY29sbGFib3JhLmNvbT4KClJldmlld2VkLWJ5OiBFemVxdWllbCBH YXJjaWEgPGV6ZXF1aWVsQGNvbGxhYm9yYS5jb20+CgpUaGFua3MhCgo+IC0tLQo+IMKgZHJpdmVy cy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmPCoMKgwqDCoCB8wqAgOCArLS0KPiDC oC4uLi9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJfaGV2Y19kZWMuYyB8IDUyICsrKysr KysrKysrKysrKysrKysKPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hl dmMuY8KgwqDCoCB8IDIxICsrKysrKysrCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L2hhbnRyb19ody5owqDCoMKgwqDCoCB8wqAgMyArKwo+IMKgNCBmaWxlcyBjaGFuZ2VkLCA4MSBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9o YW50cm8vaGFudHJvX2Rydi5jCj4gaW5kZXggOGFkMDc0YTQ2NGZlLi41NjEwYjc4MjFhNTQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+IEBAIC0yNjcs OSArMjY3LDYgQEAgc3RhdGljIGludCBoYW50cm9fdHJ5X2N0cmwoc3RydWN0IHY0bDJfY3RybCAq Y3RybCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzcHMtPmJpdF9k ZXB0aF9sdW1hX21pbnVzOCAhPSAyKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoC8qIE9ubHkgOC1iaXQgb3IgMTAtYml0IGlzIHN1cHBvcnRlZCAqLwo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAt RUlOVkFMOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoc3BzLT5mbGFncyAm IFY0TDJfSEVWQ19TUFNfRkxBR19TQ0FMSU5HX0xJU1RfRU5BQkxFRCkKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qIE5vIHNjYWxpbmcgc3VwcG9ydCAq Lwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IC1FSU5WQUw7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gQEAgLTQ1MSw2ICs0NDgsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9f Y3RybCBjb250cm9sc1tdID0gewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNm ZyA9IHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAu aWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUywKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0sCj4gK8KgwqDCoMKgwqDCoMKgfSwgewo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY29kZWMgPSBIQU5UUk9fSEVWQ19ERUNPREVSLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY2ZnID0gewo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmlkID0gVjRMMl9DSURfTVBFR19WSURFT19I RVZDX1NDQUxJTkdfTUFUUklYLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9LAo+ IMKgwqDCoMKgwqDCoMKgwqB9LCB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAu Y29kZWMgPSBIQU5UUk9fSEVWQ19ERUNPREVSLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgLmNmZyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9fZzJfaGV2Y19kZWMuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2cyX2hldmNfZGVjLmMKPiBpbmRleCA5MGRlNzRhYTZiMTMuLmY5NTEzNWFkNTUzYyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9oZXZjX2Rl Yy5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZzJfaGV2Y19k ZWMuYwo+IEBAIC02MDgsNiArNjA4LDU2IEBAIHN0YXRpYyB2b2lkIHNldF9idWZmZXJzKHN0cnVj dCBoYW50cm9fY3R4ICpjdHgpCj4gwqDCoMKgwqDCoMKgwqDCoGhhbnRyb193cml0ZV9hZGRyKHZw dSwgRzJfVElMRV9CU0QsIGN0eC0+aGV2Y19kZWMudGlsZV9ic2QuZG1hKTsKPiDCoH0KPiDCoAo+ ICtzdGF0aWMgdm9pZCBwcmVwYXJlX3NjYWxpbmdfbGlzdF9idWZmZXIoc3RydWN0IGhhbnRyb19j dHggKmN0eCkKPiArewo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fZGV2ICp2cHUgPSBj dHgtPmRldjsKPiArwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgaGFudHJvX2hldmNfZGVjX2N0 cmxzICpjdHJscyA9ICZjdHgtPmhldmNfZGVjLmN0cmxzOwo+ICvCoMKgwqDCoMKgwqDCoGNvbnN0 IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zY2FsaW5nX21hdHJpeCAqc2MgPSBjdHJscy0+c2NhbGlu ZzsKPiArwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHMg PSBjdHJscy0+c3BzOwo+ICvCoMKgwqDCoMKgwqDCoHU4ICpwID0gKCh1OCAqKWN0eC0+aGV2Y19k ZWMuc2NhbGluZ19saXN0cy5jcHUpOwo+ICvCoMKgwqDCoMKgwqDCoHVuc2lnbmVkIGludCBzY2Fs aW5nX2xpc3RfZW5hYmxlZDsKPiArwqDCoMKgwqDCoMKgwqB1bnNpZ25lZCBpbnQgaSwgaiwgazsK PiArCj4gK8KgwqDCoMKgwqDCoMKgc2NhbGluZ19saXN0X2VuYWJsZWQgPSAhIShzcHMtPmZsYWdz ICYgVjRMMl9IRVZDX1NQU19GTEFHX1NDQUxJTkdfTElTVF9FTkFCTEVEKTsKPiArwqDCoMKgwqDC oMKgwqBoYW50cm9fcmVnX3dyaXRlKHZwdSwgJmcyX3NjYWxpbmdfbGlzdF9lLCBzY2FsaW5nX2xp c3RfZW5hYmxlZCk7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoGlmICghc2NhbGluZ19saXN0X2VuYWJs ZWQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybjsKPiArCj4gK8KgwqDC oMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2MtPnNjYWxpbmdfbGlzdF9kY19j b2VmXzE2eDE2KTsgaSsrKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAqcCsrID0g c2MtPnNjYWxpbmdfbGlzdF9kY19jb2VmXzE2eDE2W2ldOwo+ICsKPiArwqDCoMKgwqDCoMKgwqBm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYy0+c2NhbGluZ19saXN0X2RjX2NvZWZfMzJ4MzIp OyBpKyspCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCpwKysgPSBzYy0+c2NhbGlu Z19saXN0X2RjX2NvZWZfMzJ4MzJbaV07Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoC8qIDEyOC1iaXQg Ym91bmRhcnkgKi8KPiArwqDCoMKgwqDCoMKgwqBwICs9IDg7Cj4gKwo+ICvCoMKgwqDCoMKgwqDC oC8qIHdyaXRlIHNjYWxpbmcgbGlzdHMgY29sdW1uIGJ5IGNvbHVtbiAqLwo+ICsKPiArwqDCoMKg wqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBmb3IgKGogPSAwOyBqIDwgNDsgaisrKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChrID0gMDsgayA8IDQ7IGsrKykKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAq cCsrID0gc2MtPnNjYWxpbmdfbGlzdF80eDRbaV1bNCAqIGsgKyBqXTsKPiArCj4gK8KgwqDCoMKg wqDCoMKgZm9yIChpID0gMDsgaSA8IDY7IGkrKykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZm9yIChqID0gMDsgaiA8IDg7IGorKykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoayA9IDA7IGsgPCA4OyBrKyspCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKnAr KyA9IHNjLT5zY2FsaW5nX2xpc3RfOHg4W2ldWzggKiBrICsgal07Cj4gKwo+ICvCoMKgwqDCoMKg wqDCoGZvciAoaSA9IDA7IGkgPCA2OyBpKyspCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGZvciAoaiA9IDA7IGogPCA4OyBqKyspCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGsgPSAwOyBrIDwgODsgaysrKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCpwKysg PSBzYy0+c2NhbGluZ19saXN0XzE2eDE2W2ldWzggKiBrICsgal07Cj4gKwo+ICvCoMKgwqDCoMKg wqDCoGZvciAoaSA9IDA7IGkgPCAyOyBpKyspCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGZvciAoaiA9IDA7IGogPCA4OyBqKyspCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGsgPSAwOyBrIDwgODsgaysrKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCpwKysg PSBzYy0+c2NhbGluZ19saXN0XzMyeDMyW2ldWzggKiBrICsgal07Cj4gKwo+ICvCoMKgwqDCoMKg wqDCoGhhbnRyb193cml0ZV9hZGRyKHZwdSwgSEVWQ19TQ0FMSU5HX0xJU1QsIGN0eC0+aGV2Y19k ZWMuc2NhbGluZ19saXN0cy5kbWEpOwo+ICt9Cj4gKwo+IMKgc3RhdGljIHZvaWQgaGFudHJvX2cy X2NoZWNrX2lkbGUoc3RydWN0IGhhbnRyb19kZXYgKnZwdSkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgaW50IGk7Cj4gQEAgLTY2OCw2ICs3MTgsOCBAQCBpbnQgaGFudHJvX2cyX2hldmNfZGVjX3J1 bihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+IMKgwqDCoMKgwqDCoMKgwqBzZXRfYnVmZmVycyhj dHgpOwo+IMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJlX3RpbGVfaW5mb19idWZmZXIoY3R4KTsKPiDC oAo+ICvCoMKgwqDCoMKgwqDCoHByZXBhcmVfc2NhbGluZ19saXN0X2J1ZmZlcihjdHgpOwo+ICsK PiDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2VuZF9wcmVwYXJlX3J1bihjdHgpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGhhbnRyb19yZWdfd3JpdGUodnB1LCAmZzJfbW9kZSwgSEVWQ19ERUNfTU9E RSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hl dmMuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYwo+IGluZGV4 IDRlODE2ZWE3MzAxOC4uOTVmNzY1ZDlmZjRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvX2hldmMuYwo+IEBAIC0yMCw2ICsyMCw4IEBACj4gwqAvKiB0aWxlIGJv cmRlciBjb2VmZmljaWVudHMgb2YgZmlsdGVyICovCj4gwqAjZGVmaW5lIFZFUlRfU0FPX1JBTV9T SVpFIDQ4IC8qIGJ5dGVzIHBlciBwaXhlbCAqLwo+IMKgCj4gKyNkZWZpbmUgU0NBTElOR19MSVNU X1NJWkUgKDE2ICogNjQpCj4gKwo+IMKgI2RlZmluZSBNQVhfVElMRV9DT0xTIDIwCj4gwqAjZGVm aW5lIE1BWF9USUxFX1JPV1MgMjIKPiDCoAo+IEBAIC0yOTYsNiArMjk4LDExIEBAIGludCBoYW50 cm9faGV2Y19kZWNfcHJlcGFyZV9ydW4oc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiDCoMKgwqDC oMKgwqDCoMKgaWYgKFdBUk5fT04oIWN0cmxzLT5kZWNvZGVfcGFyYW1zKSkKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUlOVkFMOwo+IMKgCj4gK8KgwqDCoMKgwqDC oMKgY3RybHMtPnNjYWxpbmcgPQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50 cm9fZ2V0X2N0cmwoY3R4LCBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfU0NBTElOR19NQVRSSVgp Owo+ICvCoMKgwqDCoMKgwqDCoGlmIChXQVJOX09OKCFjdHJscy0+c2NhbGluZykpCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUlOVkFMOwo+ICsKPiDCoMKgwqDCoMKg wqDCoMKgY3RybHMtPnNwcyA9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50 cm9fZ2V0X2N0cmwoY3R4LCBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfU1BTKTsKPiDCoMKgwqDC oMKgwqDCoMKgaWYgKFdBUk5fT04oIWN0cmxzLT5zcHMpKQo+IEBAIC0zMjQsNiArMzMxLDEyIEBA IHZvaWQgaGFudHJvX2hldmNfZGVjX2V4aXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgaGV2Y19kZWMtPnRpbGVfc2l6ZXMuZG1hKTsKPiDCoMKgwqDCoMKgwqDCoMKgaGV2Y19k ZWMtPnRpbGVfc2l6ZXMuY3B1ID0gTlVMTDsKPiDCoAo+ICvCoMKgwqDCoMKgwqDCoGlmIChoZXZj X2RlYy0+c2NhbGluZ19saXN0cy5jcHUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRtYV9mcmVlX2NvaGVyZW50KHZwdS0+ZGV2LCBoZXZjX2RlYy0+c2NhbGluZ19saXN0cy5zaXpl LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGhldmNfZGVjLT5zY2FsaW5nX2xpc3RzLmNwdSwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoZXZj X2RlYy0+c2NhbGluZ19saXN0cy5kbWEpOwo+ICvCoMKgwqDCoMKgwqDCoGhldmNfZGVjLT5zY2Fs aW5nX2xpc3RzLmNwdSA9IE5VTEw7Cj4gKwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoaGV2Y19kZWMt PnRpbGVfZmlsdGVyLmNwdSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRtYV9m cmVlX2NvaGVyZW50KHZwdS0+ZGV2LCBoZXZjX2RlYy0+dGlsZV9maWx0ZXIuc2l6ZSwKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgaGV2Y19kZWMtPnRpbGVfZmlsdGVyLmNwdSwKPiBAQCAtMzY3LDYgKzM4MCwxNCBAQCBp bnQgaGFudHJvX2hldmNfZGVjX2luaXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqBoZXZjX2RlYy0+dGlsZV9zaXplcy5zaXplID0gc2l6ZTsKPiDCoAo+ICvC oMKgwqDCoMKgwqDCoGhldmNfZGVjLT5zY2FsaW5nX2xpc3RzLmNwdSA9IGRtYV9hbGxvY19jb2hl cmVudCh2cHUtPmRldiwgU0NBTElOR19MSVNUX1NJWkUsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZoZXZjX2RlYy0+c2NhbGluZ19saXN0 cy5kbWEsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIEdGUF9LRVJORUwpOwo+ICvCoMKgwqDCoMKgwqDCoGlmICghaGV2Y19kZWMtPnNjYWxp bmdfbGlzdHMuY3B1KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVO T01FTTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgaGV2Y19kZWMtPnNjYWxpbmdfbGlzdHMuc2l6ZSA9 IFNDQUxJTkdfTElTVF9TSVpFOwo+ICsKPiDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2hldmNfcmVm X2luaXQoY3R4KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaCBiL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiBpbmRleCBkODEyNmY4MTc4ZjUuLjFiZWNj MjJhZjBmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19ody5oCj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+ IEBAIC0xMDgsNiArMTA4LDcgQEAgc3RydWN0IGhhbnRyb19oMjY0X2RlY19od19jdHggewo+IMKg ICovCj4gwqBzdHJ1Y3QgaGFudHJvX2hldmNfZGVjX2N0cmxzIHsKPiDCoMKgwqDCoMKgwqDCoMKg Y29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJhbXMgKmRlY29kZV9wYXJhbXM7 Cj4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NjYWxpbmdfbWF0 cml4ICpzY2FsaW5nOwo+IMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hl dmNfc3BzICpzcHM7Cj4gwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2 Y19wcHMgKnBwczsKPiDCoMKgwqDCoMKgwqDCoMKgdTMyIGhldmNfaGRyX3NraXBfbGVuZ3RoOwo+ IEBAIC0xMjAsNiArMTIxLDcgQEAgc3RydWN0IGhhbnRyb19oZXZjX2RlY19jdHJscyB7Cj4gwqAg KiBAdGlsZV9zYW86wqDCoMKgwqDCoMKgwqDCoMKgwqBUaWxlIFNBTyBidWZmZXIKPiDCoCAqIEB0 aWxlX2JzZDrCoMKgwqDCoMKgwqDCoMKgwqDCoFRpbGUgQlNEIGNvbnRyb2wgYnVmZmVyCj4gwqAg KiBAcmVmX2J1ZnM6wqDCoMKgwqDCoMKgwqDCoMKgwqBJbnRlcm5hbCByZWZlcmVuY2UgYnVmZmVy cwo+ICsgKiBAc2NhbGluZ19saXN0czrCoMKgwqDCoMKgU2NhbGluZyBsaXN0cyBidWZmZXIKPiDC oCAqIEByZWZfYnVmc19wb2M6wqDCoMKgwqDCoMKgSW50ZXJuYWwgcmVmZXJlbmNlIGJ1ZmZlcnMg cGljdHVyZSBvcmRlciBjb3VudAo+IMKgICogQHJlZl9idWZzX3VzZWQ6wqDCoMKgwqDCoEJpdGZp ZWxkIG9mIHVzZWQgcmVmZXJlbmNlIGJ1ZmZlcnMKPiDCoCAqIEBjdHJsczrCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoFY0TDIgY29udHJvbHMgYXR0YWNoZWQgdG8gYSBydW4KPiBAQCAtMTMxLDYg KzEzMyw3IEBAIHN0cnVjdCBoYW50cm9faGV2Y19kZWNfaHdfY3R4IHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IGhhbnRyb19hdXhfYnVmIHRpbGVfc2FvOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaGFudHJvX2F1eF9idWYgdGlsZV9ic2Q7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50 cm9fYXV4X2J1ZiByZWZfYnVmc1tOVU1fUkVGX1BJQ1RVUkVTXTsKPiArwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgaGFudHJvX2F1eF9idWYgc2NhbGluZ19saXN0czsKPiDCoMKgwqDCoMKgwqDCoMKgaW50 IHJlZl9idWZzX3BvY1tOVU1fUkVGX1BJQ1RVUkVTXTsKPiDCoMKgwqDCoMKgwqDCoMKgdTMyIHJl Zl9idWZzX3VzZWQ7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9faGV2Y19kZWNfY3Ry bHMgY3RybHM7CgotLSAKS2luZGx5LApFemVxdWllbAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK