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 0A538C76196 for ; Tue, 11 Apr 2023 15:18:27 +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=uKZrAKOOhetqmiBRHCpHvXRa1d0wXWRXq/6QRa7ZUFM=; b=n51/kmbckRUfxx kdO+b7xNWXFVqJW2hkuNvlt/s/f+xuvLe6kHIklvcbrzNRtPx1l0ijhKDAckstwEj3rWPJXTAnMlX xzkYe/XjcahaE0NTZShT1KNiGhyrup3slYMhNP0vxygM88oKJhYDwafFnply8Qm8yac8YTGW4/rl6 KWkInw7C8Hcd1DUkAnKT9dRuTUJdMkpa/RnlCbylWMoTaKvEZ0CGyEnYWBcTur5guIqks4Op3jNb4 qrnw3Z1JEvmZHExpeOzT9gTPonMUyKhEis3sXXAQ59riHke6cjtEE+AumQqnNNbIaxCK9ng7q9duP yaGOeix4g01RM8VKSd4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pmFlA-000PMH-17; Tue, 11 Apr 2023 15:18:16 +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 1pmFl6-000PK9-1H; Tue, 11 Apr 2023 15:18:14 +0000 Received: from nicolas-tpx395.localdomain (unknown [IPv6:2606:6d00:15:199e::580]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id C51166600013; Tue, 11 Apr 2023 16:18:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1681226291; bh=uSEIdqJwrjL6FsghPa1kxazqXZSgOOA61ffxUhqt0tQ=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=IfSDlqN/xej46NlSkXWQIgOwpFNaWEQIAU/dFM4kZCdl42YDj/r+3wprgaqCGagA2 H59ByuQD4LcOyAVC6RFzdQm8xbBlha3xh3i4wwzm/AQc6ifkePupwvE6OQBB1bSFhD 5wtZpLOAR8YuaT+9+8Z/L+bEKzaeXauxV3kC5GqPmkTX2w0zpmIwC6/a0OiFgRkOMr YAiXyVQwYRux0a4gM3Ey/uyu+dgPDvapSGLiu9on1CNFcQXdNfbn+MLxZeNQJ3b/s5 QbZSx2JsAJtNogX39cQynGPLCXA6w5Ux+M4tIqq1aixfd6ZzAkAVJqb+sHU1VQUhSF lxry23EAVaN5Q== Message-ID: <1ff0453cded9afe7a742596713c23102a7cfcfcc.camel@collabora.com> Subject: Re: [PATCH v5 11/13] media: verisilicon: Enable AV1 decoder on rk3588 From: Nicolas Dufresne To: Benjamin Gaignard , ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, hverkuil-cisco@xs4all.nl Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com Date: Tue, 11 Apr 2023 11:18:01 -0400 In-Reply-To: <20230330154043.1250736-12-benjamin.gaignard@collabora.com> References: <20230330154043.1250736-1-benjamin.gaignard@collabora.com> <20230330154043.1250736-12-benjamin.gaignard@collabora.com> User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230411_081812_689681_E4472648 X-CRM114-Status: GOOD ( 19.81 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org TGUgamV1ZGkgMzAgbWFycyAyMDIzIMOgIDE3OjQwICswMjAwLCBCZW5qYW1pbiBHYWlnbmFyZCBh IMOpY3JpdMKgOgo+IEFkZCByazM1ODggQVYxIGRlY29kZXIgdG8gSGFudHJvIHZhcmlhbnQuCj4g VGhlIGhhcmR3YXJlIHN1cHBvcnQgaW1hZ2UgZnJvbSA2NHg2NCB1cCB0byA3NjgweDQzMjAKPiBi eSBzdGVwcyBvZiAxNiBwaXhlbHMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25h cmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+CgpSZXZpZXdlZC1ieTogTmljb2xh cyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKPiAtLS0KPiAgLi4u L21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19kcnYuYyAgIHwgICAxICsKPiAgLi4u L21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19ody5oICAgIHwgICA2ICsKPiAgLi4u L3BsYXRmb3JtL3ZlcmlzaWxpY29uL3JvY2tjaGlwX3ZwdV9ody5jICAgIHwgMTM0ICsrKysrKysr KysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX2Rydi5j IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fZHJ2LmMKPiBpbmRl eCA3MWJkNjhlNjM4NTkuLmFlZjFkZTIwZmM1ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19kcnYuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX2Rydi5jCj4gQEAgLTcxMyw2ICs3MTMsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9oYW50cm9fbWF0Y2hbXSA9IHsKPiAg CXsgLmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszMzk5LXZwdSIsIC5kYXRhID0gJnJrMzM5OV92 cHVfdmFyaWFudCwgfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszNTY4LXZlcHUi LCAuZGF0YSA9ICZyazM1NjhfdmVwdV92YXJpYW50LCB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJy b2NrY2hpcCxyazM1NjgtdnB1IiwgLmRhdGEgPSAmcmszNTY4X3ZwdV92YXJpYW50LCB9LAo+ICsJ eyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazM1ODgtYXYxLXZwdSIsIC5kYXRhID0gJnJrMzU4 OF92cHU5ODFfdmFyaWFudCwgfSwKPiAgI2VuZGlmCj4gICNpZmRlZiBDT05GSUdfVklERU9fSEFO VFJPX0lNWDhNCj4gIAl7IC5jb21wYXRpYmxlID0gIm54cCxpbXg4bW0tdnB1LWcxIiwgLmRhdGEg PSAmaW14OG1tX3ZwdV9nMV92YXJpYW50LCB9LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19ody5oIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS92ZXJpc2lsaWNvbi9oYW50cm9faHcuaAo+IGluZGV4IGUzZDMwM2NlYTdmNi4uN2YzM2Y3YjA3 Y2U0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFu dHJvX2h3LmgKPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRy b19ody5oCj4gQEAgLTQwMywxMSArNDAzLDEzIEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJv X3ZhcmlhbnQgcmszMzI4X3ZwdV92YXJpYW50Owo+ICBleHRlcm4gY29uc3Qgc3RydWN0IGhhbnRy b192YXJpYW50IHJrMzM5OV92cHVfdmFyaWFudDsKPiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBoYW50 cm9fdmFyaWFudCByazM1NjhfdmVwdV92YXJpYW50Owo+ICBleHRlcm4gY29uc3Qgc3RydWN0IGhh bnRyb192YXJpYW50IHJrMzU2OF92cHVfdmFyaWFudDsKPiArZXh0ZXJuIGNvbnN0IHN0cnVjdCBo YW50cm9fdmFyaWFudCByazM1ODhfdnB1OTgxX3ZhcmlhbnQ7Cj4gIGV4dGVybiBjb25zdCBzdHJ1 Y3QgaGFudHJvX3ZhcmlhbnQgc2FtYTVkNF92ZGVjX3ZhcmlhbnQ7Cj4gIGV4dGVybiBjb25zdCBz dHJ1Y3QgaGFudHJvX3ZhcmlhbnQgc3VueGlfdnB1X3ZhcmlhbnQ7Cj4gIAo+ICBleHRlcm4gY29u c3Qgc3RydWN0IGhhbnRyb19wb3N0cHJvY19vcHMgaGFudHJvX2cxX3Bvc3Rwcm9jX29wczsKPiAg ZXh0ZXJuIGNvbnN0IHN0cnVjdCBoYW50cm9fcG9zdHByb2Nfb3BzIGhhbnRyb19nMl9wb3N0cHJv Y19vcHM7Cj4gK2V4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3Bvc3Rwcm9jX29wcyByb2NrY2hp cF92cHU5ODFfcG9zdHByb2Nfb3BzOwo+ICAKPiAgZXh0ZXJuIGNvbnN0IHUzMiBoYW50cm9fdnA4 X2RlY19tY19maWx0ZXJbOF1bNl07Cj4gIAo+IEBAIC00NDQsNiArNDQ2LDEwIEBAIHZvaWQgaGFu dHJvX2hldmNfcmVmX2luaXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCk7Cj4gIGRtYV9hZGRyX3Qg aGFudHJvX2hldmNfZ2V0X3JlZl9idWYoc3RydWN0IGhhbnRyb19jdHggKmN0eCwgczMyIHBvYyk7 Cj4gIGludCBoYW50cm9faGV2Y19hZGRfcmVmX2J1ZihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4LCBp bnQgcG9jLCBkbWFfYWRkcl90IGFkZHIpOwo+ICAKPiAraW50IHJvY2tjaGlwX3ZwdTk4MV9hdjFf ZGVjX2luaXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCk7Cj4gK3ZvaWQgcm9ja2NoaXBfdnB1OTgx X2F2MV9kZWNfZXhpdChzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KTsKPiAraW50IHJvY2tjaGlwX3Zw dTk4MV9hdjFfZGVjX3J1bihzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KTsKPiArdm9pZCByb2NrY2hp cF92cHU5ODFfYXYxX2RlY19kb25lKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpOwo+ICAKPiAgc3Rh dGljIGlubGluZSB1bnNpZ25lZCBzaG9ydCBoYW50cm9fdnA5X251bV9zYnModW5zaWduZWQgc2hv cnQgZGltZW5zaW9uKQo+ICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v dmVyaXNpbGljb24vcm9ja2NoaXBfdnB1X2h3LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Zl cmlzaWxpY29uL3JvY2tjaGlwX3ZwdV9ody5jCj4gaW5kZXggOGRlNmZkMmU4ZWVmLi5mZDA1ZTNl MjA4MGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9y b2NrY2hpcF92cHVfaHcuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGlj b24vcm9ja2NoaXBfdnB1X2h3LmMKPiBAQCAtMTMsOSArMTMsMTMgQEAKPiAgI2luY2x1ZGUgImhh bnRyb19nMV9yZWdzLmgiCj4gICNpbmNsdWRlICJoYW50cm9faDFfcmVncy5oIgo+ICAjaW5jbHVk ZSAicm9ja2NoaXBfdnB1Ml9yZWdzLmgiCj4gKyNpbmNsdWRlICJyb2NrY2hpcF92cHU5ODFfcmVn cy5oIgo+ICAKPiAgI2RlZmluZSBSSzMwNjZfQUNMS19NQVhfRlJFUSAoMzAwICogMTAwMCAqIDEw MDApCj4gICNkZWZpbmUgUkszMjg4X0FDTEtfTUFYX0ZSRVEgKDQwMCAqIDEwMDAgKiAxMDAwKQo+ ICsjZGVmaW5lIFJLMzU4OF9BQ0xLX01BWF9GUkVRICgzMDAgKiAxMDAwICogMTAwMCkKPiArCj4g KyNkZWZpbmUgUk9DS0NISVBfVlBVOTgxX01JTl9TSVpFIDY0Cj4gIAo+ICAvKgo+ICAgKiBTdXBw b3J0ZWQgZm9ybWF0cy4KPiBAQCAtNzQsNiArNzgsMzcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBo YW50cm9fZm10IHJvY2tjaGlwX3ZwdTFfcG9zdHByb2NfZm10c1tdID0gewo+ICAJfSwKPiAgfTsK PiAgCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCByb2NrY2hpcF92cHU5ODFfcG9z dHByb2NfZm10c1tdID0gewo+ICsJewo+ICsJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfTlYxMiwK PiArCQkuY29kZWNfbW9kZSA9IEhBTlRST19NT0RFX05PTkUsCj4gKwkJLm1hdGNoX2RlcHRoID0g dHJ1ZSwKPiArCQkucG9zdHByb2Nlc3NlZCA9IHRydWUsCj4gKwkJLmZybXNpemUgPSB7Cj4gKwkJ CS5taW5fd2lkdGggPSBST0NLQ0hJUF9WUFU5ODFfTUlOX1NJWkUsCj4gKwkJCS5tYXhfd2lkdGgg PSBGTVRfVUhEX1dJRFRILAo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9o ZWlnaHQgPSBST0NLQ0hJUF9WUFU5ODFfTUlOX1NJWkUsCj4gKwkJCS5tYXhfaGVpZ2h0ID0gRk1U X1VIRF9IRUlHSFQsCj4gKwkJCS5zdGVwX2hlaWdodCA9IE1CX0RJTSwKPiArCQl9LAo+ICsJfSwK PiArCXsKPiArCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX1AwMTAsCj4gKwkJLmNvZGVjX21vZGUg PSBIQU5UUk9fTU9ERV9OT05FLAo+ICsJCS5tYXRjaF9kZXB0aCA9IHRydWUsCj4gKwkJLnBvc3Rw cm9jZXNzZWQgPSB0cnVlLAo+ICsJCS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0gUk9D S0NISVBfVlBVOTgxX01JTl9TSVpFLAo+ICsJCQkubWF4X3dpZHRoID0gRk1UX1VIRF9XSURUSCwK PiArCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5taW5faGVpZ2h0ID0gUk9DS0NISVBf VlBVOTgxX01JTl9TSVpFLAo+ICsJCQkubWF4X2hlaWdodCA9IEZNVF9VSERfSEVJR0hULAo+ICsJ CQkuc3RlcF9oZWlnaHQgPSBNQl9ESU0sCj4gKwkJfSwKPiArCX0sCj4gK307Cj4gKwo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGhhbnRyb19mbXQgcmszMDY2X3ZwdV9kZWNfZm10c1tdID0gewo+ICAJ ewo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfTlYxMiwKPiBAQCAtMjc3LDYgKzMxMiw0OCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRyb19mbXQgcmszMzk5X3ZwdV9kZWNfZm10c1tdID0g ewo+ICAJfSwKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCByb2Nr Y2hpcF92cHU5ODFfZGVjX2ZtdHNbXSA9IHsKPiArCXsKPiArCQkuZm91cmNjID0gVjRMMl9QSVhf Rk1UX05WMTJfNEw0LAo+ICsJCS5jb2RlY19tb2RlID0gSEFOVFJPX01PREVfTk9ORSwKPiArCQku bWF0Y2hfZGVwdGggPSB0cnVlLAo+ICsJCS5mcm1zaXplID0gewo+ICsJCQkubWluX3dpZHRoID0g Uk9DS0NISVBfVlBVOTgxX01JTl9TSVpFLAo+ICsJCQkubWF4X3dpZHRoID0gRk1UX1VIRF9XSURU SCwKPiArCQkJLnN0ZXBfd2lkdGggPSBNQl9ESU0sCj4gKwkJCS5taW5faGVpZ2h0ID0gUk9DS0NI SVBfVlBVOTgxX01JTl9TSVpFLAo+ICsJCQkubWF4X2hlaWdodCA9IEZNVF9VSERfSEVJR0hULAo+ ICsJCQkuc3RlcF9oZWlnaHQgPSBNQl9ESU0sCj4gKwkJfSwKPiArCX0sCj4gKwl7Cj4gKwkJLmZv dXJjYyA9IFY0TDJfUElYX0ZNVF9OVjEyXzEwTEU0MF80TDQsCj4gKwkJLmNvZGVjX21vZGUgPSBI QU5UUk9fTU9ERV9OT05FLAo+ICsJCS5tYXRjaF9kZXB0aCA9IHRydWUsCj4gKwkJLmZybXNpemUg PSB7Cj4gKwkJCS5taW5fd2lkdGggPSBST0NLQ0hJUF9WUFU5ODFfTUlOX1NJWkUsCj4gKwkJCS5t YXhfd2lkdGggPSBGTVRfVUhEX1dJRFRILAo+ICsJCQkuc3RlcF93aWR0aCA9IE1CX0RJTSwKPiAr CQkJLm1pbl9oZWlnaHQgPSBST0NLQ0hJUF9WUFU5ODFfTUlOX1NJWkUsCj4gKwkJCS5tYXhfaGVp Z2h0ID0gRk1UX1VIRF9IRUlHSFQsCj4gKwkJCS5zdGVwX2hlaWdodCA9IE1CX0RJTSwKPiArCQl9 LAo+ICsJfSwKPiArCXsKPiArCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX0FWMV9GUkFNRSwKPiAr CQkuY29kZWNfbW9kZSA9IEhBTlRST19NT0RFX0FWMV9ERUMsCj4gKwkJLm1heF9kZXB0aCA9IDIs Cj4gKwkJLmZybXNpemUgPSB7Cj4gKwkJCS5taW5fd2lkdGggPSBST0NLQ0hJUF9WUFU5ODFfTUlO X1NJWkUsCj4gKwkJCS5tYXhfd2lkdGggPSBGTVRfVUhEX1dJRFRILAo+ICsJCQkuc3RlcF93aWR0 aCA9IE1CX0RJTSwKPiArCQkJLm1pbl9oZWlnaHQgPSBST0NLQ0hJUF9WUFU5ODFfTUlOX1NJWkUs Cj4gKwkJCS5tYXhfaGVpZ2h0ID0gRk1UX1VIRF9IRUlHSFQsCj4gKwkJCS5zdGVwX2hlaWdodCA9 IE1CX0RJTSwKPiArCQl9LAo+ICsJfSwKPiArfTsKPiArCj4gIHN0YXRpYyBpcnFyZXR1cm5fdCBy b2NrY2hpcF92cHUxX3ZlcHVfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPiAgewo+ICAJc3Ry dWN0IGhhbnRyb19kZXYgKnZwdSA9IGRldl9pZDsKPiBAQCAtMzMxLDYgKzQwOCwyNCBAQCBzdGF0 aWMgaXJxcmV0dXJuX3Qgcm9ja2NoaXBfdnB1Ml92ZXB1X2lycShpbnQgaXJxLCB2b2lkICpkZXZf aWQpCj4gIAlyZXR1cm4gSVJRX0hBTkRMRUQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpcnFyZXR1cm5f dCByazM1ODhfdnB1OTgxX2lycShpbnQgaXJxLCB2b2lkICpkZXZfaWQpCj4gK3sKPiArCXN0cnVj dCBoYW50cm9fZGV2ICp2cHUgPSBkZXZfaWQ7Cj4gKwllbnVtIHZiMl9idWZmZXJfc3RhdGUgc3Rh dGU7Cj4gKwl1MzIgc3RhdHVzOwo+ICsKPiArCXN0YXR1cyA9IHZkcHVfcmVhZCh2cHUsIEFWMV9S RUdfSU5URVJSVVBUKTsKPiArCXN0YXRlID0gKHN0YXR1cyAmIEFWMV9SRUdfSU5URVJSVVBUX0RF Q19SRFlfSU5UKSA/Cj4gKwkJVkIyX0JVRl9TVEFURV9ET05FIDogVkIyX0JVRl9TVEFURV9FUlJP UjsKPiArCj4gKwl2ZHB1X3dyaXRlKHZwdSwgMCwgQVYxX1JFR19JTlRFUlJVUFQpOwo+ICsJdmRw dV93cml0ZSh2cHUsIEFWMV9SRUdfQ09ORklHX0RFQ19DTEtfR0FURV9FLCBBVjFfUkVHX0NPTkZJ Ryk7Cj4gKwo+ICsJaGFudHJvX2lycV9kb25lKHZwdSwgc3RhdGUpOwo+ICsKPiArCXJldHVybiBJ UlFfSEFORExFRDsKPiArfQo+ICsKPiAgc3RhdGljIGludCByazMwMzZfdnB1X2h3X2luaXQoc3Ry dWN0IGhhbnRyb19kZXYgKnZwdSkKPiAgewo+ICAJLyogQnVtcCBBQ0xLIHRvIG1heC4gcG9zc2li bGUgZnJlcS4gdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4gKi8KPiBAQCAtMzQ2LDYgKzQ0MSwxMyBA QCBzdGF0aWMgaW50IHJrMzA2Nl92cHVfaHdfaW5pdChzdHJ1Y3QgaGFudHJvX2RldiAqdnB1KQo+ ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgcmszNTg4X3ZwdTk4MV9od19pbml0 KHN0cnVjdCBoYW50cm9fZGV2ICp2cHUpCj4gK3sKPiArCS8qIEJ1bXAgQUNMS3MgdG8gbWF4LiBw b3NzaWJsZSBmcmVxLiB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLiAqLwo+ICsJY2xrX3NldF9yYXRl KHZwdS0+Y2xvY2tzWzBdLmNsaywgUkszNTg4X0FDTEtfTUFYX0ZSRVEpOwo+ICsJcmV0dXJuIDA7 Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgcm9ja2NoaXBfdnB1X2h3X2luaXQoc3RydWN0IGhhbnRy b19kZXYgKnZwdSkKPiAgewo+ICAJLyogQnVtcCBBQ0xLIHRvIG1heC4gcG9zc2libGUgZnJlcS4g dG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4gKi8KPiBAQCAtNDk4LDYgKzYwMCwxNCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGhhbnRyb19jb2RlY19vcHMgcmszNTY4X3ZlcHVfY29kZWNfb3BzW10gPSB7 Cj4gIAl9LAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fY29kZWNfb3Bz IHJrMzU4OF92cHU5ODFfY29kZWNfb3BzW10gPSB7Cj4gKwlbSEFOVFJPX01PREVfQVYxX0RFQ10g PSB7Cj4gKwkJLnJ1biA9IHJvY2tjaGlwX3ZwdTk4MV9hdjFfZGVjX3J1biwKPiArCQkuaW5pdCA9 IHJvY2tjaGlwX3ZwdTk4MV9hdjFfZGVjX2luaXQsCj4gKwkJLmV4aXQgPSByb2NrY2hpcF92cHU5 ODFfYXYxX2RlY19leGl0LAo+ICsJCS5kb25lID0gcm9ja2NoaXBfdnB1OTgxX2F2MV9kZWNfZG9u ZSwKPiArCX0sCj4gK307Cj4gIC8qCj4gICAqIFZQVSB2YXJpYW50Lgo+ICAgKi8KPiBAQCAtNTI5 LDEwICs2MzksMTggQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCByazMwNjZfdnB1X2Nsa19u YW1lc1tdID0gewo+ICAJImFjbGtfdmVwdSIsICJoY2xrX3ZlcHUiCj4gIH07Cj4gIAo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGhhbnRyb19pcnEgcmszNTg4X3ZwdTk4MV9pcnFzW10gPSB7Cj4gKwl7 ICJ2ZHB1IiwgcmszNTg4X3ZwdTk4MV9pcnEgfSwKPiArfTsKPiArCj4gIHN0YXRpYyBjb25zdCBj aGFyICogY29uc3Qgcm9ja2NoaXBfdnB1X2Nsa19uYW1lc1tdID0gewo+ICAJImFjbGsiLCAiaGNs ayIKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcmszNTg4X3ZwdTk4MV92 cHVfY2xrX25hbWVzW10gPSB7Cj4gKwkiYWNsayIsICJoY2xrIiwgImFjbGtfdmRwdV9yb290Iiwg ImhjbGtfdmRwdV9yb290Igo+ICt9Owo+ICsKPiAgLyogVkRQVTEvVkVQVTEgKi8KPiAgCj4gIGNv bnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMwMzZfdnB1X3ZhcmlhbnQgPSB7Cj4gQEAgLTY3 OCwzICs3OTYsMTkgQEAgY29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IHB4MzBfdnB1X3Zhcmlh bnQgPSB7Cj4gIAkuY2xrX25hbWVzID0gcm9ja2NoaXBfdnB1X2Nsa19uYW1lcywKPiAgCS5udW1f Y2xvY2tzID0gQVJSQVlfU0laRShyb2NrY2hpcF92cHVfY2xrX25hbWVzKQo+ICB9Owo+ICsKPiAr Y29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IHJrMzU4OF92cHU5ODFfdmFyaWFudCA9IHsKPiAr CS5kZWNfb2Zmc2V0ID0gMHgwLAo+ICsJLmRlY19mbXRzID0gcm9ja2NoaXBfdnB1OTgxX2RlY19m bXRzLAo+ICsJLm51bV9kZWNfZm10cyA9IEFSUkFZX1NJWkUocm9ja2NoaXBfdnB1OTgxX2RlY19m bXRzKSwKPiArCS5wb3N0cHJvY19mbXRzID0gcm9ja2NoaXBfdnB1OTgxX3Bvc3Rwcm9jX2ZtdHMs Cj4gKwkubnVtX3Bvc3Rwcm9jX2ZtdHMgPSBBUlJBWV9TSVpFKHJvY2tjaGlwX3ZwdTk4MV9wb3N0 cHJvY19mbXRzKSwKPiArCS5wb3N0cHJvY19vcHMgPSAmcm9ja2NoaXBfdnB1OTgxX3Bvc3Rwcm9j X29wcywKPiArCS5jb2RlYyA9IEhBTlRST19BVjFfREVDT0RFUiwKPiArCS5jb2RlY19vcHMgPSBy azM1ODhfdnB1OTgxX2NvZGVjX29wcywKPiArCS5pcnFzID0gcmszNTg4X3ZwdTk4MV9pcnFzLAo+ ICsJLm51bV9pcnFzID0gQVJSQVlfU0laRShyazM1ODhfdnB1OTgxX2lycXMpLAo+ICsJLmluaXQg PSByazM1ODhfdnB1OTgxX2h3X2luaXQsCj4gKwkuY2xrX25hbWVzID0gcmszNTg4X3ZwdTk4MV92 cHVfY2xrX25hbWVzLAo+ICsJLm51bV9jbG9ja3MgPSBBUlJBWV9TSVpFKHJrMzU4OF92cHU5ODFf dnB1X2Nsa19uYW1lcykKPiArfTsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==