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 D8480C433F5 for ; Tue, 17 May 2022 17:43:55 +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=cpfQ7pNy/xlQt2YWe0a8BLtLXzTRHEoh+nJve5T0dI0=; b=cJ4/rl82/szQGD F65RJ0by7Lg6NTm0G1t50WpF6NCFpshgBfDsV0iKR34Wtf+BGSrDbtPh6FEBuc1Tic9dNbzW+O4v0 9v+Ql7U0C8nzr74IzJvw6wiRhHC4SxCEtx6jhhjVlNlnqxEocrv3VnWGpYl0JPSwN+GducyMFGWQj eIywt2oJKyOyAgGl163giScBrfWgI5sUaYl35MRGTnIUugO/UWjQO/2FnziEwEdQNFnSGvVSADHrk 3xAkRs0tWbhOArWOzqCSpZ4DaLnZ947kpSY8KkatmxBe8wfhtdyndgNQLOgw5tiF4k2UqSF33OuLb L1595bJIypwwo632TLEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nr1DP-00F5Ua-Cp; Tue, 17 May 2022 17:42:35 +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 1nr1DL-00F5SX-Bs; Tue, 17 May 2022 17:42:33 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: nicolas) with ESMTPSA id 438721F449B1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1652809343; bh=2gNja2jzXINTHL1DpfULvc1b1SM/D/Au4dGjglcuCgI=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=b4Z5DzT+sf3HQ6039HxlUUoC+65ISIxA11E5wbSvgBkdUEGSSKNJ7K81Le/5JC9Pq xA1F6Gyv1+3/SWUYoHU/9xE4a3ScTonl45OU1MENWs0YNOaBxPhdBaCVsqKmQAanMh 05Xwm9WRCu1feB2FllaNwAQOCJF5d2rgG1cqjDUV8Bv3/SygCBYX08O7y+Kgq3Kxik MPqu1XP2MlodjgGiyCa+fNfdWpBq/t7Lxqz6et2/OoTcWJlc9yk5hiFHs8JeDT3PcS VDIOmZfUZNPgZEtOGWM3QxT2jn0JnHrioAfAIY3jNwzRVY/QneD7lVGcQGcOLjk6P+ 2DY4PdrWv61DA== Message-ID: Subject: Re: [PATCH v2] media: hantro: Be more accurate on pixel formats step_width constraints From: Nicolas Dufresne To: Benjamin Gaignard , ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, mchehab@kernel.org, gregkh@linuxfoundation.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, heiko@sntech.de, wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org Cc: kernel@pengutronix.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com Date: Tue, 17 May 2022 13:42:11 -0400 In-Reply-To: <20220517122629.522211-1-benjamin.gaignard@collabora.com> References: <20220517122629.522211-1-benjamin.gaignard@collabora.com> User-Agent: Evolution 3.44.1 (3.44.1-1.fc36) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_104231_698812_F7E661E0 X-CRM114-Status: GOOD ( 36.77 ) 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 TGUgbWFyZGkgMTcgbWFpIDIwMjIgw6AgMTQ6MjYgKzAyMDAsIEJlbmphbWluIEdhaWduYXJkIGEg w6ljcml0wqA6Cj4gT24gSGFudHJvIEcyIGRlY29kZXIgb24gSU1YOE1RIHN0cmlkZXMgcmVxdWly ZW1lbnRzIGFyZW4ndCB0aGUgc2FtZQo+IGZvciBOVjEyXzRMNCBhbmQgTlYxMiBwaXhlbCBmb3Jt YXRzLiBUaGUgZmlyc3Qgb25lIHVzZSBhIDQgYnl0ZXMgcGFkZGluZwo+IHdoaWxlIHRoZSBsYXN0 IG9uZSBuZWVkcyA4IGJ5dGVzLgo+IFRvIGJlIHN1cmUgdG8gcHJvdmlkZSB0aGUgY29ycmVjdCBz dHJpZGUgaW4gYWxsIGNhc2VzIHdlIG5lZWQ6Cj4gLSB0byByZWxheCB0aGUgY29uc3RyYWludHMg b24gY29kZWMgZm9ybWF0cyBzbyBzZXQgc3RlcF93aWR0aCB0byA0Cj4gLSB1c2UgY2FwdHVyZSBx dWV1ZSBmb3JtYXQgYW5kIG5vdCB0aGUgb3V0cHV0IHF1ZXVlIGZvcm1hdCB3aGVuIGFwcGx5aW5n Cj4gICB0aGUgcGl4ZWwgZm9ybWF0IGNvbnN0cmFpbnRzLgo+IC0gcHV0IHRoZSBjb3JyZWN0IHN0 ZXBfd2lkdGggY29uc3RyYWludHMgb24gZWFjaCBwaXhlbCBmb3JtYXQuCj4gCj4gTW92ZSBIRVZD IFNQUyB2YWxpZGF0aW9uIGluIGhhbnRyb19oZXZjLmMgdG8gYmUgYWJsZSB0byBwZXJmb3JtIGl0 Cj4gd2hlbiBzZXR0aW5nIHNwcyBjb250cm9sIGFuZCB3aGVuIHN0YXJ0aW5nIHRvIGRlY29kZSB0 aGUgYml0c3RyZWFtLgo+IEFkZCBhIG5ldyB0ZXN0IGluIEhFVkMgU1BTIHZhbGlkYXRpb24gZnVu Y3Rpb24gdG8gY2hlY2sgaWYgcmVzb2x1dGlvbgo+IGlzIHN0aWxsIG1hdGNoaW5nIHRoZSBoYXJk d2FyZSBjb25zdHJhaW50cy4KPiAKPiBXaXRoIHRoaXMgU0FPREJMS19BX01haW5Db25jZXB0XzQg YW5kIFNBT0RCTEtfQl9NYWluQ29uY2VwdF80IGNvbmZvcm1hbmNlCj4gdGVzdHMgZmlsZXMgYXJl IGNvcnJlY3RseSBkZWNvZGVkIHdpdGggYm90aCBOVjEyIGFuZCBOVjEyXzRMNCBwaXhlbCBmb3Jt YXRzLgo+IFRoZXNlIHR3byBmaWxlcyBoYXZlIGEgcmVzb2x1dGlvbiBvZiAxMDE2eDc2MC4KPiBJ ZiBzdGVwX3dpZHRoID0gMTYgZm9yIHRoZSBib3RoIHBpeGVsIGZvcm1hdHMgdGhlIHNlbGVjdGVk IGNhcHR1cmUKCkRpZCB5b3UgbWVhbiBpcyBpbnN0ZWFkIG9mID0gPyBBcmUgeW91IG1pc3Npbmcg ImFuZCIgc29tZXdoZXJlIGluIHRoaXMgc2VudGVuY2UKPwoKPiByZXNvbHV0aW9uIGlzIDEwMjR4 NzY4IHdoaWNoIGlzIHdyb25nIGZvciBOVjEyXzRMNCAod2hpY2ggZXhwZWN0IDEwMTZ4NzYwKQo+ IG9uIEhhbnRybyBHMiBvbiBJTVg4TVEgKGJ1dCBjb3JyZWN0IGZvciBOVjEyKS4KPiAKPiBGb3Ig b3RoZXIgdmFyaWFudHMgdGhhbiBIYW50cm8gRzIgb24gSU1YOE0ga2VlcCB0aGUgc2FtZSBzdGVw X3dpZHRoIHRvIGF2b2lkCj4gcmVncmVzc2lvbnMuCj4gCj4gRmx1c3RlciBIRVZDIHRlc3Qgc2Nv cmUgaXMgbm93IDEyOC8xNDcgdnMgMTI2LzE0NyB3aXRoIHRoZSBib3RoIHBpeGVsCj4gZm9ybWF0 cyBhcyBkZWNvZGVyIG91dHB1dC4KPiBGbHVzdGVyIFZQOSB0ZXN0IHNjb3JlIHN0YXkgYXQgMTQ3 LzMwMy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2Fp Z25hcmRAY29sbGFib3JhLmNvbT4KPiAtLS0KPiB2ZXJzaW9uIDI6Cj4gLSBBZGQgYSBIRVZDIFNQ UyB2YWxpZGF0aW9uIGZ1bmN0aW9uIHRvIGJlIHVzZWQgd2hlbgo+ICAgc2V0dGluZyB0aGUgY29u dHJvbCBhbmQgc3RhcnQgZGVjb2RpbmcuCj4gICBJIGhvcGUgdGhhdCBpcyB3aGF0IE5pY29sYXMg ZXhwZWN0cyBpbiBoaXMgcmVtYXJrIG9uIHYxLgo+IAo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv aGFudHJvL2hhbnRyb19kcnYuYyAgICAgfCAxMiArKystLS0KPiAgZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9faGV2Yy5jICAgIHwgMjggKysrKysrKysrKysrKwo+ICBkcml2ZXJz L3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oICAgICAgfCAgMiArCj4gIGRyaXZlcnMv c3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3Y0bDIuYyAgICB8ICAyICstCj4gIGRyaXZlcnMv c3RhZ2luZy9tZWRpYS9oYW50cm8vaW14OG1fdnB1X2h3LmMgICB8IDQwICsrKysrKysrKysrKysr KysrLS0KPiAgLi4uL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JvY2tjaGlwX3ZwdV9ody5jICAgIHwg MzIgKysrKysrKysrKysrKysrCj4gIC4uLi9zdGFnaW5nL21lZGlhL2hhbnRyby9zYW1hNWQ0X3Zk ZWNfaHcuYyAgICB8IDE2ICsrKysrKysrCj4gIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v c3VueGlfdnB1X2h3LmMgICB8IDE2ICsrKysrKysrCj4gIDggZmlsZXMgY2hhbmdlZCwgMTM3IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9o YW50cm8vaGFudHJvX2Rydi5jCj4gaW5kZXggMzc3ZGNjMWQxOWRlLi41YWFjM2EwOTA0ODAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+IEBAIC0yNTMs NiArMjUzLDExIEBAIHF1ZXVlX2luaXQodm9pZCAqcHJpdiwgc3RydWN0IHZiMl9xdWV1ZSAqc3Jj X3ZxLCBzdHJ1Y3QgdmIyX3F1ZXVlICpkc3RfdnEpCj4gIAo+ICBzdGF0aWMgaW50IGhhbnRyb190 cnlfY3RybChzdHJ1Y3QgdjRsMl9jdHJsICpjdHJsKQo+ICB7Cj4gKwlzdHJ1Y3QgaGFudHJvX2N0 eCAqY3R4Owo+ICsKPiArCWN0eCA9IGNvbnRhaW5lcl9vZihjdHJsLT5oYW5kbGVyLAo+ICsJCQkg ICBzdHJ1Y3QgaGFudHJvX2N0eCwgY3RybF9oYW5kbGVyKTsKPiArCj4gIAlpZiAoY3RybC0+aWQg PT0gVjRMMl9DSURfU1RBVEVMRVNTX0gyNjRfU1BTKSB7Cj4gIAkJY29uc3Qgc3RydWN0IHY0bDJf Y3RybF9oMjY0X3NwcyAqc3BzID0gY3RybC0+cF9uZXcucF9oMjY0X3NwczsKPiAgCj4gQEAgLTI2 OCwxMiArMjczLDcgQEAgc3RhdGljIGludCBoYW50cm9fdHJ5X2N0cmwoc3RydWN0IHY0bDJfY3Ry bCAqY3RybCkKPiAgCX0gZWxzZSBpZiAoY3RybC0+aWQgPT0gVjRMMl9DSURfU1RBVEVMRVNTX0hF VkNfU1BTKSB7Cj4gIAkJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAqc3BzID0gY3Ry bC0+cF9uZXcucF9oZXZjX3NwczsKPiAgCj4gLQkJaWYgKHNwcy0+Yml0X2RlcHRoX2x1bWFfbWlu dXM4ICE9IHNwcy0+Yml0X2RlcHRoX2Nocm9tYV9taW51czgpCj4gLQkJCS8qIEx1bWEgYW5kIGNo cm9tYSBiaXQgZGVwdGggbWlzbWF0Y2ggKi8KPiAtCQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQkJaWYg KHNwcy0+Yml0X2RlcHRoX2x1bWFfbWludXM4ICE9IDApCj4gLQkJCS8qIE9ubHkgOC1iaXQgaXMg c3VwcG9ydGVkICovCj4gLQkJCXJldHVybiAtRUlOVkFMOwo+ICsJCXJldHVybiBoYW50cm9faGV2 Y192YWxpZGF0ZV9zcHMoY3R4LCBzcHMpOwo+ICAJfSBlbHNlIGlmIChjdHJsLT5pZCA9PSBWNEwy X0NJRF9TVEFURUxFU1NfVlA5X0ZSQU1FKSB7Cj4gIAkJY29uc3Qgc3RydWN0IHY0bDJfY3RybF92 cDlfZnJhbWUgKmRlY19wYXJhbXMgPSBjdHJsLT5wX25ldy5wX3ZwOV9mcmFtZTsKPiAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYyBiL2Ry aXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hldmMuYwo+IGluZGV4IDdmZGVjNTBk Yzg1My4uNmFiZWY4MTBiMjg1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9o YW50cm8vaGFudHJvX2hldmMuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v aGFudHJvX2hldmMuYwo+IEBAIC0xNTQsNiArMTU0LDMwIEBAIHN0YXRpYyBpbnQgdGlsZV9idWZm ZXJfcmVhbGxvY2F0ZShzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+ICAJcmV0dXJuIC1FTk9NRU07 Cj4gIH0KPiAgCj4gK2ludCBoYW50cm9faGV2Y192YWxpZGF0ZV9zcHMoc3RydWN0IGhhbnRyb19j dHggKmN0eCwgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAqc3BzKQo+ICt7Cj4gKwlp ZiAoc3BzLT5iaXRfZGVwdGhfbHVtYV9taW51czggIT0gc3BzLT5iaXRfZGVwdGhfY2hyb21hX21p bnVzOCkKPiArCQkvKiBMdW1hIGFuZCBjaHJvbWEgYml0IGRlcHRoIG1pc21hdGNoICovCj4gKwkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwlpZiAoc3BzLT5iaXRfZGVwdGhfbHVtYV9taW51czggIT0gMCkK PiArCQkvKiBPbmx5IDgtYml0IGlzIHN1cHBvcnRlZCAqLwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsKPiArCS8qIGZvciB0aWxlIHBpeGVsIGZvcm1hdCBjaGVjayBpZiB0aGUgd2lkdGggYW5kIGhl aWdodCBtYXRjaAo+ICsJICogaGFyZHdhcmUgY29uc3RyYWludHMgKi8KPiArCWlmIChjdHgtPnZw dV9kc3RfZm10LT5mb3VyY2MgPT0gVjRMMl9QSVhfRk1UX05WMTJfNEw0KSB7Cj4gKwkJaWYgKGN0 eC0+ZHN0X2ZtdC53aWR0aCAhPQo+ICsJCSAgICBBTElHTihzcHMtPnBpY193aWR0aF9pbl9sdW1h X3NhbXBsZXMsIGN0eC0+dnB1X2RzdF9mbXQtPmZybXNpemUuc3RlcF93aWR0aCkpCj4gKwkJCXJl dHVybiAtRUlOVkFMOwo+ICsKPiArCQlpZiAoY3R4LT5kc3RfZm10LmhlaWdodCAhPQo+ICsJCSAg ICBBTElHTihzcHMtPnBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzLCBjdHgtPnZwdV9kc3RfZm10 LT5mcm1zaXplLnN0ZXBfaGVpZ2h0KSkKPiArCQkJcmV0dXJuIC1FSU5WQUw7CgpObyBhY3Rpb24g bmVlZGVkLCBqdXN0IGEgcXVlc3Rpb24uIENhbiB3ZSBvdXRwdXQgdGlsZWQgb3V0IG9mIHRoZSBQ UCA/IElmIHNvLApwZXJoYXBzIHdlIGNvdWxkIGhhbmRsZSB0aGUgYWxpZ25tZW50IGRpZmZlcmVu Y2UgYnkgZW5hYmxpbmcgdGhlIFBQIGV2ZW4gaWYKdGlsZWQuIFRoYXQgd291bGQgZ3JlYXRseSBo ZWxwIHRvIGhhbmRsZSBjb21wYXRpYmlsaXR5IGJldHdlZW4gZGVjb2RlcnMgYW5kCmVuY29kZXJz IGluIHRoZSBmdXR1cmUuCgo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBpbnQg aGFudHJvX2hldmNfZGVjX3ByZXBhcmVfcnVuKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gIHsK PiAgCXN0cnVjdCBoYW50cm9faGV2Y19kZWNfaHdfY3R4ICpoZXZjX2N0eCA9ICZjdHgtPmhldmNf ZGVjOwo+IEBAIC0xNzcsNiArMjAxLDEwIEBAIGludCBoYW50cm9faGV2Y19kZWNfcHJlcGFyZV9y dW4oc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiAgCWlmIChXQVJOX09OKCFjdHJscy0+c3BzKSkK PiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gKwlyZXQgPSBoYW50cm9faGV2Y192YWxpZGF0ZV9z cHMoY3R4LCBjdHJscy0+c3BzKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4g IAljdHJscy0+cHBzID0KPiAgCQloYW50cm9fZ2V0X2N0cmwoY3R4LCBWNEwyX0NJRF9TVEFURUxF U1NfSEVWQ19QUFMpOwo+ICAJaWYgKFdBUk5fT04oIWN0cmxzLT5wcHMpKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oIGIvZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+IGluZGV4IDk5NDU0N2ZlNDFiOS4uMGJiYTYz NzgyMTJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv X2h3LmgKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oCj4g QEAgLTM0MSw2ICszNDEsOCBAQCBpbnQgaGFudHJvX2hldmNfZGVjX3ByZXBhcmVfcnVuKHN0cnVj dCBoYW50cm9fY3R4ICpjdHgpOwo+ICB2b2lkIGhhbnRyb19oZXZjX3JlZl9pbml0KHN0cnVjdCBo YW50cm9fY3R4ICpjdHgpOwo+ICBkbWFfYWRkcl90IGhhbnRyb19oZXZjX2dldF9yZWZfYnVmKHN0 cnVjdCBoYW50cm9fY3R4ICpjdHgsIHMzMiBwb2MpOwo+ICBpbnQgaGFudHJvX2hldmNfYWRkX3Jl Zl9idWYoc3RydWN0IGhhbnRyb19jdHggKmN0eCwgaW50IHBvYywgZG1hX2FkZHJfdCBhZGRyKTsK PiAraW50IGhhbnRyb19oZXZjX3ZhbGlkYXRlX3NwcyhzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4LCBj b25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpzcHMpOwo+ICsKPiAgCj4gIHN0YXRpYyBp bmxpbmUgdW5zaWduZWQgc2hvcnQgaGFudHJvX3ZwOV9udW1fc2JzKHVuc2lnbmVkIHNob3J0IGRp bWVuc2lvbikKPiAgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L2hhbnRyb192NGwyLmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192NGwy LmMKPiBpbmRleCA3MWE2Mjc5NzUwYmYuLjkzZDBkY2Y2OWY0YSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192NGwyLmMKPiArKysgYi9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192NGwyLmMKPiBAQCAtMjYwLDcgKzI2MCw3IEBAIHN0 YXRpYyBpbnQgaGFudHJvX3RyeV9mbXQoY29uc3Qgc3RydWN0IGhhbnRyb19jdHggKmN0eCwKPiAg CX0gZWxzZSBpZiAoY3R4LT5pc19lbmNvZGVyKSB7Cj4gIAkJdnB1X2ZtdCA9IGN0eC0+dnB1X2Rz dF9mbXQ7Cj4gIAl9IGVsc2Ugewo+IC0JCXZwdV9mbXQgPSBjdHgtPnZwdV9zcmNfZm10Owo+ICsJ CXZwdV9mbXQgPSBmbXQ7Cj4gIAkJLyoKPiAgCQkgKiBXaWR0aC9oZWlnaHQgb24gdGhlIENBUFRV UkUgZW5kIG9mIGEgZGVjb2RlciBhcmUgaWdub3JlZCBhbmQKPiAgCQkgKiByZXBsYWNlZCBieSB0 aGUgT1VUUFVUIG9uZXMuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaW14OG1fdnB1X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3Zw dV9ody5jCj4gaW5kZXggOTgwMjUwOGJhZGUyLi5iNmIyYmY2NWU1NmQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYwo+ICsrKyBiL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaW14OG1fdnB1X2h3LmMKPiBAQCAtODMsNiArODMsMTQg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10IGlteDhtX3ZwdV9wb3N0cHJvY19mbXRz W10gPSB7Cj4gIAkJLmZvdXJjYyA9IFY0TDJfUElYX0ZNVF9ZVVlWLAo+ICAJCS5jb2RlY19tb2Rl ID0gSEFOVFJPX01PREVfTk9ORSwKPiAgCQkucG9zdHByb2Nlc3NlZCA9IHRydWUsCj4gKwkJLmZy bXNpemUgPSB7Cj4gKwkJCS5taW5fd2lkdGggPSA0OCwKPiArCQkJLm1heF93aWR0aCA9IDM4NDAs CgpJIHJlbWVtYmVyIHNlZWluZyBsaW1pdHMgdG8gNDA5NiBpbnN0ZWFkIGluIFZTSSBkb2N1bWVu dGF0aW9uIChVV0hEKS4gSnVzdCBsaWtlCm1hbnkgaGFyZGNvZGVkIGxpbWl0cyBpbiB0aGlzIGRy aXZlciwgcGVyaGFwcyB0aGUgbGltaXRzIHdhcyBjb3BpZWQgZnJvbSB0aGUgCndoaXRlIHBhcGVy IHBlcmZvcm1hbmNlIGV4YW1wbGUuIEl0IHdvdWxkIGJlIHdlaXJkIHRoYXQgd2UgY2FuIGRlY29k ZSBwb3J0cmFpdApVSEQvRkhELgoKSSB0aGluayBmb3IgdGhpcyBwYXRjaCwgd2hhdCBJJ2QgbGlr ZSB0byBzZWUgaXMgdGhlIFVESCBhbmQgRkhEIGxpbWl0cyB0byBiZSBzZXQKYXMgYSBkZWZpbmUu IFNpbmNlIGlmIHdlIGdvdCB0aGVtIHdyb25nLCBmaXhpbmcgdGhlbSBsYXRlciBhZnRlciB0aGlz IHBhdGNoCmJlY29tZXMgYSBsb3QgbW9yZSB3b3JrLCBhcyBpdHMgY29waWVkIG92ZXIgYW5kIG92 ZXIuCgpFdmVyeXRoaW5nIGVsc2UgbG9va3MgZ29vZCB0byBtZSBrbm93LCB0aGFua3MgZm9yIHRo ZSB1cGRhdGUuCgo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9oZWlnaHQg PSA0OCwKPiArCQkJLm1heF9oZWlnaHQgPSAyMTYwLAo+ICsJCQkuc3RlcF9oZWlnaHQgPSBNQl9E SU0sCj4gKwkJfSwKPiAgCX0sCj4gIH07Cj4gIAo+IEBAIC05MCw2ICs5OCwxNCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGhhbnRyb19mbXQgaW14OG1fdnB1X2RlY19mbXRzW10gPSB7Cj4gIAl7Cj4g IAkJLmZvdXJjYyA9IFY0TDJfUElYX0ZNVF9OVjEyLAo+ICAJCS5jb2RlY19tb2RlID0gSEFOVFJP X01PREVfTk9ORSwKPiArCQkuZnJtc2l6ZSA9IHsKPiArCQkJLm1pbl93aWR0aCA9IDQ4LAo+ICsJ CQkubWF4X3dpZHRoID0gMzg0MCwKPiArCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5t aW5faGVpZ2h0ID0gNDgsCj4gKwkJCS5tYXhfaGVpZ2h0ID0gMjE2MCwKPiArCQkJLnN0ZXBfaGVp Z2h0ID0gTUJfRElNLAo+ICsJCX0sCj4gIAl9LAo+ICAJewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJ WF9GTVRfTVBFRzJfU0xJQ0UsCj4gQEAgLTEzNyw2ICsxNTMsMTQgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBoYW50cm9fZm10IGlteDhtX3ZwdV9nMl9wb3N0cHJvY19mbXRzW10gPSB7Cj4gIAkJLmZv dXJjYyA9IFY0TDJfUElYX0ZNVF9OVjEyLAo+ICAJCS5jb2RlY19tb2RlID0gSEFOVFJPX01PREVf Tk9ORSwKPiAgCQkucG9zdHByb2Nlc3NlZCA9IHRydWUsCj4gKwkJLmZybXNpemUgPSB7Cj4gKwkJ CS5taW5fd2lkdGggPSA0OCwKPiArCQkJLm1heF93aWR0aCA9IDM4NDAsCj4gKwkJCS5zdGVwX3dp ZHRoID0gTUJfRElNLAo+ICsJCQkubWluX2hlaWdodCA9IDQ4LAo+ICsJCQkubWF4X2hlaWdodCA9 IDIxNjAsCj4gKwkJCS5zdGVwX2hlaWdodCA9IE1CX0RJTSwKPiArCQl9LAo+ICAJfSwKPiAgfTsK PiAgCj4gQEAgLTE0NCw2ICsxNjgsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10 IGlteDhtX3ZwdV9nMl9kZWNfZm10c1tdID0gewo+ICAJewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJ WF9GTVRfTlYxMl80TDQsCj4gIAkJLmNvZGVjX21vZGUgPSBIQU5UUk9fTU9ERV9OT05FLAo+ICsJ CS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5tYXhfd2lkdGggPSAz ODQwLAo+ICsJCQkuc3RlcF93aWR0aCA9IDQsCj4gKwkJCS5taW5faGVpZ2h0ID0gNDgsCj4gKwkJ CS5tYXhfaGVpZ2h0ID0gMjE2MCwKPiArCQkJLnN0ZXBfaGVpZ2h0ID0gNCwKPiArCQl9LAo+ICAJ fSwKPiAgCXsKPiAgCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX0hFVkNfU0xJQ0UsCj4gQEAgLTE1 MiwxMCArMTg0LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCBpbXg4bV92cHVf ZzJfZGVjX2ZtdHNbXSA9IHsKPiAgCQkuZnJtc2l6ZSA9IHsKPiAgCQkJLm1pbl93aWR0aCA9IDQ4 LAo+ICAJCQkubWF4X3dpZHRoID0gMzg0MCwKPiAtCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4g KwkJCS5zdGVwX3dpZHRoID0gNCwKPiAgCQkJLm1pbl9oZWlnaHQgPSA0OCwKPiAgCQkJLm1heF9o ZWlnaHQgPSAyMTYwLAo+IC0JCQkuc3RlcF9oZWlnaHQgPSBNQl9ESU0sCj4gKwkJCS5zdGVwX2hl aWdodCA9IDQsCj4gIAkJfSwKPiAgCX0sCj4gIAl7Cj4gQEAgLTE2NSwxMCArMTk3LDEwIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCBpbXg4bV92cHVfZzJfZGVjX2ZtdHNbXSA9IHsK PiAgCQkuZnJtc2l6ZSA9IHsKPiAgCQkJLm1pbl93aWR0aCA9IDQ4LAo+ICAJCQkubWF4X3dpZHRo ID0gMzg0MCwKPiAtCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5zdGVwX3dpZHRoID0g NCwKPiAgCQkJLm1pbl9oZWlnaHQgPSA0OCwKPiAgCQkJLm1heF9oZWlnaHQgPSAyMTYwLAo+IC0J CQkuc3RlcF9oZWlnaHQgPSBNQl9ESU0sCj4gKwkJCS5zdGVwX2hlaWdodCA9IDQsCj4gIAkJfSwK PiAgCX0sCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v cm9ja2NoaXBfdnB1X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JvY2tjaGlw X3ZwdV9ody5jCj4gaW5kZXggZmM5NjUwMWYzYmM4Li5lZmJhN2ZjZGYyMDcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9yb2NrY2hpcF92cHVfaHcuYwo+ICsrKyBi L2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vcm9ja2NoaXBfdnB1X2h3LmMKPiBAQCAtNjMs NiArNjMsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10IHJvY2tjaGlwX3ZwdTFf cG9zdHByb2NfZm10c1tdID0gewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfWVVZViwKPiAg CQkuY29kZWNfbW9kZSA9IEhBTlRST19NT0RFX05PTkUsCj4gIAkJLnBvc3Rwcm9jZXNzZWQgPSB0 cnVlLAo+ICsJCS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5tYXhf d2lkdGggPSAxOTIwLAo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9oZWln aHQgPSA0OCwKPiArCQkJLm1heF9oZWlnaHQgPSAxMDg4LAo+ICsJCQkuc3RlcF9oZWlnaHQgPSBN Ql9ESU0sCj4gKwkJfSwKPiAgCX0sCj4gIH07Cj4gIAo+IEBAIC03MCw2ICs3OCwxNCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGhhbnRyb19mbXQgcmszMDY2X3ZwdV9kZWNfZm10c1tdID0gewo+ICAJ ewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfTlYxMiwKPiAgCQkuY29kZWNfbW9kZSA9IEhB TlRST19NT0RFX05PTkUsCj4gKwkJLmZybXNpemUgPSB7Cj4gKwkJCS5taW5fd2lkdGggPSA0OCwK PiArCQkJLm1heF93aWR0aCA9IDE5MjAsCj4gKwkJCS5zdGVwX3dpZHRoID0gTUJfRElNLAo+ICsJ CQkubWluX2hlaWdodCA9IDQ4LAo+ICsJCQkubWF4X2hlaWdodCA9IDEwODgsCj4gKwkJCS5zdGVw X2hlaWdodCA9IE1CX0RJTSwKPiArCQl9LAo+ICAJfSwKPiAgCXsKPiAgCQkuZm91cmNjID0gVjRM Ml9QSVhfRk1UX0gyNjRfU0xJQ0UsCj4gQEAgLTExNiw2ICsxMzIsMTQgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBoYW50cm9fZm10IHJrMzI4OF92cHVfZGVjX2ZtdHNbXSA9IHsKPiAgCXsKPiAgCQku Zm91cmNjID0gVjRMMl9QSVhfRk1UX05WMTIsCj4gIAkJLmNvZGVjX21vZGUgPSBIQU5UUk9fTU9E RV9OT05FLAo+ICsJCS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5t YXhfd2lkdGggPSA0MDk2LAo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9o ZWlnaHQgPSA0OCwKPiArCQkJLm1heF9oZWlnaHQgPSAyMzA0LAo+ICsJCQkuc3RlcF9oZWlnaHQg PSBNQl9ESU0sCj4gKwkJfSwKPiAgCX0sCj4gIAl7Cj4gIAkJLmZvdXJjYyA9IFY0TDJfUElYX0ZN VF9IMjY0X1NMSUNFLAo+IEBAIC0xNjIsNiArMTg2LDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aGFudHJvX2ZtdCByazMzOTlfdnB1X2RlY19mbXRzW10gPSB7Cj4gIAl7Cj4gIAkJLmZvdXJjYyA9 IFY0TDJfUElYX0ZNVF9OVjEyLAo+ICAJCS5jb2RlY19tb2RlID0gSEFOVFJPX01PREVfTk9ORSwK PiArCQkuZnJtc2l6ZSA9IHsKPiArCQkJLm1pbl93aWR0aCA9IDQ4LAo+ICsJCQkubWF4X3dpZHRo ID0gMTkyMCwKPiArCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5taW5faGVpZ2h0ID0g NDgsCj4gKwkJCS5tYXhfaGVpZ2h0ID0gMTA4OCwKPiArCQkJLnN0ZXBfaGVpZ2h0ID0gTUJfRElN LAo+ICsJCX0sCj4gIAl9LAo+ICAJewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfSDI2NF9T TElDRSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9zYW1hNWQ0 X3ZkZWNfaHcuYyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vc2FtYTVkNF92ZGVjX2h3 LmMKPiBpbmRleCBiMmZjMWM1NjEzZTEuLjA3ZWU4MDRlNzA2YiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3NhbWE1ZDRfdmRlY19ody5jCj4gKysrIGIvZHJpdmVy cy9zdGFnaW5nL21lZGlhL2hhbnRyby9zYW1hNWQ0X3ZkZWNfaHcuYwo+IEBAIC0xNiw2ICsxNiwx NCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRyb19mbXQgc2FtYTVkNF92ZGVjX3Bvc3Rwcm9j X2ZtdHNbXSA9IHsKPiAgCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX1lVWVYsCj4gIAkJLmNvZGVj X21vZGUgPSBIQU5UUk9fTU9ERV9OT05FLAo+ICAJCS5wb3N0cHJvY2Vzc2VkID0gdHJ1ZSwKPiAr CQkuZnJtc2l6ZSA9IHsKPiArCQkJLm1pbl93aWR0aCA9IDQ4LAo+ICsJCQkubWF4X3dpZHRoID0g MTI4MCwKPiArCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5taW5faGVpZ2h0ID0gNDgs Cj4gKwkJCS5tYXhfaGVpZ2h0ID0gNzIwLAo+ICsJCQkuc3RlcF9oZWlnaHQgPSBNQl9ESU0sCj4g KwkJfSwKPiAgCX0sCj4gIH07Cj4gIAo+IEBAIC0yMyw2ICszMSwxNCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGhhbnRyb19mbXQgc2FtYTVkNF92ZGVjX2ZtdHNbXSA9IHsKPiAgCXsKPiAgCQkuZm91 cmNjID0gVjRMMl9QSVhfRk1UX05WMTIsCj4gIAkJLmNvZGVjX21vZGUgPSBIQU5UUk9fTU9ERV9O T05FLAo+ICsJCS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5tYXhf d2lkdGggPSAxMjgwLAo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9oZWln aHQgPSA0OCwKPiArCQkJLm1heF9oZWlnaHQgPSA3MjAsCj4gKwkJCS5zdGVwX2hlaWdodCA9IE1C X0RJTSwKPiArCQl9LAo+ICAJfSwKPiAgCXsKPiAgCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX01Q RUcyX1NMSUNFLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3N1 bnhpX3ZwdV9ody5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9zdW54aV92cHVfaHcu Ywo+IGluZGV4IGMwZWRkNTg1NmEwYy4uYzIzOTJjMDhmZWJiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vc3VueGlfdnB1X2h3LmMKPiArKysgYi9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL3N1bnhpX3ZwdV9ody5jCj4gQEAgLTE0LDYgKzE0LDE0IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCBzdW54aV92cHVfcG9zdHByb2NfZm10c1tdID0g ewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfTlYxMiwKPiAgCQkuY29kZWNfbW9kZSA9IEhB TlRST19NT0RFX05PTkUsCj4gIAkJLnBvc3Rwcm9jZXNzZWQgPSB0cnVlLAo+ICsJCS5mcm1zaXpl ID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5tYXhfd2lkdGggPSAzODQwLAo+ICsJ CQkuc3RlcF93aWR0aCA9IDMyLAo+ICsJCQkubWluX2hlaWdodCA9IDQ4LAo+ICsJCQkubWF4X2hl aWdodCA9IDIxNjAsCj4gKwkJCS5zdGVwX2hlaWdodCA9IDMyLAo+ICsJCX0sCj4gIAl9LAo+ICB9 Owo+ICAKPiBAQCAtMjEsNiArMjksMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10 IHN1bnhpX3ZwdV9kZWNfZm10c1tdID0gewo+ICAJewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9G TVRfTlYxMl80TDQsCj4gIAkJLmNvZGVjX21vZGUgPSBIQU5UUk9fTU9ERV9OT05FLAo+ICsJCS5m cm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gNDgsCj4gKwkJCS5tYXhfd2lkdGggPSAzODQw LAo+ICsJCQkuc3RlcF93aWR0aCA9IDMyLAo+ICsJCQkubWluX2hlaWdodCA9IDQ4LAo+ICsJCQku bWF4X2hlaWdodCA9IDIxNjAsCj4gKwkJCS5zdGVwX2hlaWdodCA9IDMyLAo+ICsJCX0sCj4gIAl9 LAo+ICAJewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfVlA5X0ZSQU1FLAo+IC0tIAo+IDIu MzIuMAo+IAo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK