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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=ham 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 876ACC433E1 for ; Wed, 10 Jun 2020 05:45:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5069F207F9 for ; Wed, 10 Jun 2020 05:45:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Iz9KbwUQ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725988AbgFJFp0 (ORCPT ); Wed, 10 Jun 2020 01:45:26 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:11679 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725270AbgFJFpZ (ORCPT ); Wed, 10 Jun 2020 01:45:25 -0400 X-UUID: c89d0f18aa2f42fca33912e2213fa0e2-20200610 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=eZeaCZigg3GkXMWmssrDhkhnVabWFGgwfU7U4dmrbIc=; b=Iz9KbwUQwqGo0Y0IF3teZAVMKSX9FSt3HRsBMNgJQD3zF2vBJRuUVyoD6wdSg8yhnrnKeCIpVAYcrOIzL1Yq8KRVNHz24ewJoDqtY9vJbzgqRCXQ6w4iEskFhAwSquZXM44zEfJv59Sqc+9U0EdID/P82x0AiGFk++Jfv5hhf3g=; X-UUID: c89d0f18aa2f42fca33912e2213fa0e2-20200610 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 109392018; Wed, 10 Jun 2020 13:45:13 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 10 Jun 2020 13:45:10 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 10 Jun 2020 13:45:10 +0800 Message-ID: <1591767911.527.5.camel@mtksdaap41> Subject: Re: [PATCH v4 08/17] media: mtk-vcodec: separate mtk-vcodec-enc node. From: CK Hu To: Yong Wu , Tiffany Lin , Maoguang Meng CC: Matthias Brugger , Joerg Roedel , Rob Herring , Maoguang Meng , Will Deacon , , Irui Wang , "Nicolas Boichat" , Evan Green , , Matthias Kaehlcke , , , , Tomasz Figa , , Hsin-Yi Wang , , , , , , , , Robin Murphy Date: Wed, 10 Jun 2020 13:45:11 +0800 In-Reply-To: <1590826218-23653-9-git-send-email-yong.wu@mediatek.com> References: <1590826218-23653-1-git-send-email-yong.wu@mediatek.com> <1590826218-23653-9-git-send-email-yong.wu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org KyBUaWZmYW55ICYgTWFvZ3VhbmcuDQoNCg0KT24gU2F0LCAyMDIwLTA1LTMwIGF0IDE2OjEwICsw ODAwLCBZb25nIFd1IHdyb3RlOg0KPiBGcm9tOiBNYW9ndWFuZyBNZW5nIDxtYW9ndWFuZy5tZW5n QG1lZGlhdGVrLmNvbT4NCj4gDQo+IE1USyBIMjY0IEVuY29kZXIoVkVOQ19TWVMpIGFuZCBWUDgg RW5jb2RlcihWRU5DX0xUX1NZUykgYXJlIHR3bw0KPiBpbmRlcGVuZGVudCBoYXJkd2FyZSBpbnN0 YW5jZS4gVGhleSBoYXZlIHRoZWlyIG93bmVyIGludGVycnVwdCwNCj4gcmVnaXN0ZXIgbWFwcGlu ZywgYW5kIHNwZWNpYWwgY2xvY2tzLg0KPiANCj4gVGhpcyBwYXRjaCBzZXBlcmF0ZXMgdGhlIHR3 byBpbnN0YW5jZS4gVGhpcyBpcyBhIHByZXBhcmluZyBwYXRjaCBmb3INCj4gYWRkaW5nIGRldmlj ZV9saW5rIGJldHdlZW4gdGhlIGxhcmJzIGFuZCB2ZW5jLWRldmljZS4gSXQncyBtYWlubHkgZm9y DQo+IGZpeGluZyB0aGUgcHJvYmxlbToNCj4gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTkvOS8z LzMxNg0KPiANCj4gVXNlciBDYWxsICJWSURJT0NfUVVFUllDQVAiOg0KPiBIMjY0IEVuY29kZXIg cmV0dXJuIGRyaXZlciBuYW1lICJtdGstdmNvZGVjLWVuYyI7DQo+IFZQOCBFbmNvZGVyIHJldHVy biBkcml2ZXIgbmFtZSAibXRrLXZlbmMtdnA4Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWFvZ3Vh bmcgTWVuZyA8bWFvZ3VhbmcubWVuZ0BtZWRpYXRlay5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEhz aW4tWWkgV2FuZyA8aHNpbnlpQGNocm9taXVtLm9yZz4NCj4gU2lnbmVkLW9mZi1ieTogSXJ1aSBX YW5nIDxpcnVpLndhbmdAbWVkaWF0ZWsuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oIHwgIDEwICstDQo+ICBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYyB8ICAyMyArKystDQo+ICAu Li4vbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19kcnYuYyB8IDEyNyAr KysrKysrKystLS0tLS0tLS0tLS0NCj4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210 a192Y29kZWNfZW5jX3BtLmMgIHwgIDMxICstLS0tDQo+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRr LXZjb2RlYy9tdGtfdmNvZGVjX2VuY19wbS5oICB8ICAgMSAtDQo+ICAuLi4vbWVkaWEvcGxhdGZv cm0vbXRrLXZjb2RlYy92ZW5jL3ZlbmNfdnA4X2lmLmMgICB8ICAgNCArLQ0KPiAgNiBmaWxlcyBj aGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAxMTYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2Lmgg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kcnYuaA0KPiBp bmRleCBhMjcxNjExNy4uNTJkMWNlMSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmgNCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmgNCj4gQEAgLTE5LDYgKzE5LDcgQEAN Cj4gICNkZWZpbmUgTVRLX1ZDT0RFQ19EUlZfTkFNRQkibXRrX3Zjb2RlY19kcnYiDQo+ICAjZGVm aW5lIE1US19WQ09ERUNfREVDX05BTUUJIm10ay12Y29kZWMtZGVjIg0KPiAgI2RlZmluZSBNVEtf VkNPREVDX0VOQ19OQU1FCSJtdGstdmNvZGVjLWVuYyINCj4gKyNkZWZpbmUgTVRLX1ZFTkNfVlA4 X05BTUUJIm10ay12ZW5jLXZwOCINCj4gICNkZWZpbmUgTVRLX1BMQVRGT1JNX1NUUgkicGxhdGZv cm06bXQ4MTczIg0KPiAgDQo+ICAjZGVmaW5lIE1US19WQ09ERUNfTUFYX1BMQU5FUwkzDQo+IEBA IC0xOTMsNyArMTk0LDYgQEAgc3RydWN0IG10a192Y29kZWNfcG0gew0KPiAgDQo+ICAJc3RydWN0 IG10a192Y29kZWNfY2xrCXZlbmNfY2xrOw0KPiAgCXN0cnVjdCBkZXZpY2UJKmxhcmJ2ZW5jOw0K PiAtCXN0cnVjdCBkZXZpY2UJKmxhcmJ2ZW5jbHQ7DQo+ICAJc3RydWN0IGRldmljZQkqZGV2Ow0K PiAgCXN0cnVjdCBtdGtfdmNvZGVjX2RldgkqbXRrZGV2Ow0KPiAgfTsNCj4gQEAgLTMxMSwyNSAr MzExLDI3IEBAIGVudW0gbXRrX2NoaXAgew0KPiAgICogQGNoaXA6IGNoaXAgdGhpcyBlbmNvZGVy IGlzIGNvbXBhdGlibGUgd2l0aA0KPiAgICoNCj4gICAqIEB1c2VzX2V4dDogd2hldGhlciB0aGUg ZW5jb2RlciB1c2VzIHRoZSBleHRlbmRlZCBmaXJtd2FyZSBtZXNzYWdpbmcgZm9ybWF0DQo+IC0g KiBAaGFzX2x0X2lycTogd2hldGhlciB0aGUgZW5jb2RlciB1c2VzIHRoZSBMVCBpcnENCj4gKyAq IEBuYW1lOiB3aGV0aGVyIHRoZSBlbmNvZGVyIGNvcmUgaXMgdnA4DQo+ICAgKiBAbWluX2JpcmF0 ZTogbWluaW11bSBzdXBwb3J0ZWQgZW5jb2RpbmcgYml0cmF0ZQ0KPiAgICogQG1heF9iaXRyYXRl OiBtYXhpbXVtIHN1cHBvcnRlZCBlbmNvZGluZyBiaXRyYXRlDQo+ICAgKiBAY2FwdHVyZV9mb3Jt YXRzOiBhcnJheSBvZiBzdXBwb3J0ZWQgY2FwdHVyZSBmb3JtYXRzDQo+ICAgKiBAbnVtX2NhcHR1 cmVfZm9ybWF0czogbnVtYmVyIG9mIGVudHJpZXMgaW4gY2FwdHVyZV9mb3JtYXRzDQo+ICAgKiBA b3V0cHV0X2Zvcm1hdHM6IGFycmF5IG9mIHN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0cw0KPiAgICog QG51bV9vdXRwdXRfZm9ybWF0czogbnVtYmVyIG9mIGVudHJpZXMgaW4gb3V0cHV0X2Zvcm1hdHMN Cj4gKyAqIEBjb3JlX2lkOiBzdGFuZCBmb3IgaDI2NCBvciB2cDggZW5jb2RlIGluZGV4DQo+ICAg Ki8NCj4gIHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSB7DQo+ICAJZW51bSBtdGtfY2hpcCBj aGlwOw0KPiAgDQo+ICAJYm9vbCB1c2VzX2V4dDsNCj4gLQlib29sIGhhc19sdF9pcnE7DQo+ICsJ Y29uc3QgY2hhciAqbmFtZTsNCj4gIAl1bnNpZ25lZCBsb25nIG1pbl9iaXRyYXRlOw0KPiAgCXVu c2lnbmVkIGxvbmcgbWF4X2JpdHJhdGU7DQo+ICAJY29uc3Qgc3RydWN0IG10a192aWRlb19mbXQg KmNhcHR1cmVfZm9ybWF0czsNCj4gIAlzaXplX3QgbnVtX2NhcHR1cmVfZm9ybWF0czsNCj4gIAlj b25zdCBzdHJ1Y3QgbXRrX3ZpZGVvX2ZtdCAqb3V0cHV0X2Zvcm1hdHM7DQo+ICAJc2l6ZV90IG51 bV9vdXRwdXRfZm9ybWF0czsNCj4gKwlpbnQgY29yZV9pZDsNCj4gIH07DQo+ICANCj4gIC8qKg0K PiBAQCAtMzU5LDcgKzM2MSw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSB7DQo+ICAg Kg0KPiAgICogQGRlY19pcnE6IGRlY29kZXIgaXJxIHJlc291cmNlDQo+ICAgKiBAZW5jX2lycTog aDI2NCBlbmNvZGVyIGlycSByZXNvdXJjZQ0KPiAtICogQGVuY19sdF9pcnE6IHZwOCBlbmNvZGVy IGlycSByZXNvdXJjZQ0KPiAgICoNCj4gICAqIEBkZWNfbXV0ZXg6IGRlY29kZXIgaGFyZHdhcmUg bG9jaw0KPiAgICogQGVuY19tdXRleDogZW5jb2RlciBoYXJkd2FyZSBsb2NrLg0KPiBAQCAtMzk1 LDcgKzM5Niw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX2RldiB7DQo+ICANCj4gIAlpbnQgZGVjX2ly cTsNCj4gIAlpbnQgZW5jX2lycTsNCj4gLQlpbnQgZW5jX2x0X2lycTsNCj4gIA0KPiAgCXN0cnVj dCBtdXRleCBkZWNfbXV0ZXg7DQo+ICAJc3RydWN0IG11dGV4IGVuY19tdXRleDsNCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5j IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jLmMNCj4g aW5kZXggZjBhZjc4Zi4uNTMwMWRjYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jLmMNCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jLmMNCj4gQEAgLTksNiArOSw3IEBADQo+ ICAjaW5jbHVkZSA8bWVkaWEvdjRsMi1tZW0ybWVtLmg+DQo+ICAjaW5jbHVkZSA8bWVkaWEvdmlk ZW9idWYyLWRtYS1jb250aWcuaD4NCj4gICNpbmNsdWRlIDxzb2MvbWVkaWF0ZWsvc21pLmg+DQo+ ICsjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPg0KPiAgDQo+ICAjaW5jbHVkZSAibXRrX3Zj b2RlY19kcnYuaCINCj4gICNpbmNsdWRlICJtdGtfdmNvZGVjX2VuYy5oIg0KPiBAQCAtMTc0LDcg KzE3NSwxMCBAQCBzdGF0aWMgaW50IHZpZGlvY19lbnVtX2ZtdF92aWRfb3V0KHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkICpwcml2LA0KPiAgc3RhdGljIGludCB2aWRpb2NfdmVuY19xdWVyeWNhcChz dHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwNCj4gIAkJCQlzdHJ1Y3QgdjRsMl9jYXBhYmls aXR5ICpjYXApDQo+ICB7DQo+IC0Jc3Ryc2NweShjYXAtPmRyaXZlciwgTVRLX1ZDT0RFQ19FTkNf TkFNRSwgc2l6ZW9mKGNhcC0+ZHJpdmVyKSk7DQo+ICsJY29uc3Qgc3RydWN0IG10a192Y29kZWNf ZW5jX3BkYXRhICpwZGF0YSA9DQo+ICsJCWZoX3RvX2N0eChwcml2KS0+ZGV2LT52ZW5jX3BkYXRh Ow0KPiArDQo+ICsJc3Ryc2NweShjYXAtPmRyaXZlciwgcGRhdGEtPm5hbWUsIHNpemVvZihjYXAt PmRyaXZlcikpOw0KPiAgCXN0cnNjcHkoY2FwLT5idXNfaW5mbywgTVRLX1BMQVRGT1JNX1NUUiwg c2l6ZW9mKGNhcC0+YnVzX2luZm8pKTsNCj4gIAlzdHJzY3B5KGNhcC0+Y2FyZCwgTVRLX1BMQVRG T1JNX1NUUiwgc2l6ZW9mKGNhcC0+Y2FyZCkpOw0KPiAgDQo+IEBAIC03ODgsNyArNzkyLDcgQEAg c3RhdGljIGludCB2YjJvcHNfdmVuY19zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAq cSwgdW5zaWduZWQgaW50IGNvdW50KQ0KPiAgCSAgKi8NCj4gIAlpZiAoKGN0eC0+c3RhdGUgPT0g TVRLX1NUQVRFX0FCT1JUKSB8fCAoY3R4LT5zdGF0ZSA9PSBNVEtfU1RBVEVfRlJFRSkpIHsNCj4g IAkJcmV0ID0gLUVJTzsNCj4gLQkJZ290byBlcnJfc2V0X3BhcmFtOw0KPiArCQlnb3RvIGVycl9z dGFydF9zdHJlYW07DQo+ICAJfQ0KPiAgDQo+ICAJLyogRG8gdGhlIGluaXRpYWxpemF0aW9uIHdo ZW4gYm90aCBzdGFydF9zdHJlYW1pbmcgaGF2ZSBiZWVuIGNhbGxlZCAqLw0KPiBAQCAtODAwLDYg KzgwNCwxMiBAQCBzdGF0aWMgaW50IHZiMm9wc192ZW5jX3N0YXJ0X3N0cmVhbWluZyhzdHJ1Y3Qg dmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgY291bnQpDQo+ICAJCQlyZXR1cm4gMDsNCj4gIAl9 DQo+ICANCj4gKwlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKCZjdHgtPmRldi0+cGxhdF9kZXYt PmRldik7DQo+ICsJaWYgKHJldCA8IDApIHsNCj4gKwkJbXRrX3Y0bDJfZXJyKCJwbV9ydW50aW1l X2dldF9zeW5jIGZhaWwgJWQiLCByZXQpOw0KPiArCQlnb3RvIGVycl9zdGFydF9zdHJlYW07DQo+ ICsJfQ0KPiArDQo+ICAJbXRrX3ZlbmNfc2V0X3BhcmFtKGN0eCwgJnBhcmFtKTsNCj4gIAlyZXQg PSB2ZW5jX2lmX3NldF9wYXJhbShjdHgsIFZFTkNfU0VUX1BBUkFNX0VOQywgJnBhcmFtKTsNCj4g IAlpZiAocmV0KSB7DQo+IEBAIC04MjYsNiArODM2LDExIEBAIHN0YXRpYyBpbnQgdmIyb3BzX3Zl bmNfc3RhcnRfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBjb3Vu dCkNCj4gIAlyZXR1cm4gMDsNCj4gIA0KPiAgZXJyX3NldF9wYXJhbToNCj4gKwlyZXQgPSBwbV9y dW50aW1lX3B1dCgmY3R4LT5kZXYtPnBsYXRfZGV2LT5kZXYpOw0KPiArCWlmIChyZXQgPCAwKQ0K PiArCQltdGtfdjRsMl9lcnIoInBtX3J1bnRpbWVfcHV0IGZhaWwgJWQiLCByZXQpOw0KPiArDQo+ ICtlcnJfc3RhcnRfc3RyZWFtOg0KPiAgCWZvciAoaSA9IDA7IGkgPCBxLT5udW1fYnVmZmVyczsg KytpKSB7DQo+ICAJCXN0cnVjdCB2YjJfYnVmZmVyICpidWYgPSB2YjJfZ2V0X2J1ZmZlcihxLCBp KTsNCj4gIA0KPiBAQCAtODc5LDYgKzg5NCwxMCBAQCBzdGF0aWMgdm9pZCB2YjJvcHNfdmVuY19z dG9wX3N0cmVhbWluZyhzdHJ1Y3QgdmIyX3F1ZXVlICpxKQ0KPiAgCWlmIChyZXQpDQo+ICAJCW10 a192NGwyX2VycigidmVuY19pZl9kZWluaXQgZmFpbGVkPSVkIiwgcmV0KTsNCj4gIA0KPiArCXJl dCA9IHBtX3J1bnRpbWVfcHV0KCZjdHgtPmRldi0+cGxhdF9kZXYtPmRldik7DQo+ICsJaWYgKHJl dCA8IDApDQo+ICsJCW10a192NGwyX2VycigicG1fcnVudGltZV9wdXQgZmFpbCAlZCIsIHJldCk7 DQo+ICsNCj4gIAljdHgtPnN0YXRlID0gTVRLX1NUQVRFX0ZSRUU7DQo+ICB9DQo+ICANCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Vu Y19kcnYuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Vu Y19kcnYuYw0KPiBpbmRleCBiOGZlNDA4Li5mZTE3ZjBjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMNCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX2Rydi5jDQo+ IEBAIC00OSwxMiArNDksMTUgQEANCj4gIAl9LA0KPiAgfTsNCj4gIA0KPiAtc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfdmlkZW9fZm10IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczW10g PSAgew0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10IG10a192aWRlb19mb3Jt YXRzX2NhcHR1cmVfbXQ4MTczX2gyNjRbXSA9ICB7DQo+ICAJew0KPiAgCQkuZm91cmNjID0gVjRM Ml9QSVhfRk1UX0gyNjQsDQo+ICAJCS50eXBlID0gTVRLX0ZNVF9FTkMsDQo+ICAJCS5udW1fcGxh bmVzID0gMSwNCj4gIAl9LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtf dmlkZW9fZm10IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczX3ZwOFtdID0gIHsNCj4g IAl7DQo+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfVlA4LA0KPiAgCQkudHlwZSA9IE1US19G TVRfRU5DLA0KPiBAQCAtMTEwLDM1ICsxMTMsMTMgQEAgc3RhdGljIGlycXJldHVybl90IG10a192 Y29kZWNfZW5jX2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKnByaXYpDQo+ICAJY3R4ID0gZGV2 LT5jdXJyX2N0eDsNCj4gIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmlycWxvY2ssIGZs YWdzKTsNCj4gIA0KPiAtCW10a192NGwyX2RlYnVnKDEsICJpZD0lZCIsIGN0eC0+aWQpOw0KPiAt CWFkZHIgPSBkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSArIE1US19WRU5DX0lSUV9BQ0tfT0ZGU0VU Ow0KPiAtDQo+IC0JY3R4LT5pcnFfc3RhdHVzID0gcmVhZGwoZGV2LT5yZWdfYmFzZVtWRU5DX1NZ U10gKw0KPiAtCQkJCShNVEtfVkVOQ19JUlFfU1RBVFVTX09GRlNFVCkpOw0KPiAtDQo+IC0JY2xl YW5faXJxX3N0YXR1cyhjdHgtPmlycV9zdGF0dXMsIGFkZHIpOw0KPiAtDQo+IC0Jd2FrZV91cF9j dHgoY3R4LCBNVEtfSU5TVF9JUlFfUkVDRUlWRUQpOw0KPiAtCXJldHVybiBJUlFfSEFORExFRDsN Cj4gLX0NCj4gLQ0KPiAtc3RhdGljIGlycXJldHVybl90IG10a192Y29kZWNfZW5jX2x0X2lycV9o YW5kbGVyKGludCBpcnEsIHZvaWQgKnByaXYpDQo+IC17DQo+IC0Jc3RydWN0IG10a192Y29kZWNf ZGV2ICpkZXYgPSBwcml2Ow0KPiAtCXN0cnVjdCBtdGtfdmNvZGVjX2N0eCAqY3R4Ow0KPiAtCXVu c2lnbmVkIGxvbmcgZmxhZ3M7DQo+IC0Jdm9pZCBfX2lvbWVtICphZGRyOw0KPiAtDQo+IC0Jc3Bp bl9sb2NrX2lycXNhdmUoJmRldi0+aXJxbG9jaywgZmxhZ3MpOw0KPiAtCWN0eCA9IGRldi0+Y3Vy cl9jdHg7DQo+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5pcnFsb2NrLCBmbGFncyk7 DQo+ICsJbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVkIGNvcmVpZDolZCIsIGN0eC0+aWQsIGRldi0+ dmVuY19wZGF0YS0+Y29yZV9pZCk7DQo+ICsJYWRkciA9IGRldi0+cmVnX2Jhc2VbZGV2LT52ZW5j X3BkYXRhLT5jb3JlX2lkXSArDQo+ICsJCQkJTVRLX1ZFTkNfSVJRX0FDS19PRkZTRVQ7DQo+ICAN Cj4gLQltdGtfdjRsMl9kZWJ1ZygxLCAiaWQ9JWQiLCBjdHgtPmlkKTsNCj4gLQljdHgtPmlycV9z dGF0dXMgPSByZWFkbChkZXYtPnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSArDQo+ICsJY3R4LT5pcnFf c3RhdHVzID0gcmVhZGwoZGV2LT5yZWdfYmFzZVtkZXYtPnZlbmNfcGRhdGEtPmNvcmVfaWRdICsN Cj4gIAkJCQkoTVRLX1ZFTkNfSVJRX1NUQVRVU19PRkZTRVQpKTsNCj4gIA0KPiAtCWFkZHIgPSBk ZXYtPnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSArIE1US19WRU5DX0lSUV9BQ0tfT0ZGU0VUOw0KPiAt DQo+ICAJY2xlYW5faXJxX3N0YXR1cyhjdHgtPmlycV9zdGF0dXMsIGFkZHIpOw0KPiAgDQo+ICAJ d2FrZV91cF9jdHgoY3R4LCBNVEtfSU5TVF9JUlFfUkVDRUlWRUQpOw0KPiBAQCAtMjY1LDcgKzI0 Niw4IEBAIHN0YXRpYyBpbnQgbXRrX3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KPiAgCXN0cnVjdCByZXNvdXJjZSAqcmVzOw0KPiAgCXBoYW5kbGUgcnByb2NfcGhh bmRsZTsNCj4gIAllbnVtIG10a192Y29kZWNfZndfdHlwZSBmd190eXBlOw0KPiAtCWludCBpLCBq LCByZXQ7DQo+ICsJaW50IHJldDsNCj4gKwl2b2lkIF9faW9tZW0gKnJlZ19iYXNlOw0KPiAgDQo+ ICAJZGV2ID0gZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigqZGV2KSwgR0ZQX0tFUk5F TCk7DQo+ICAJaWYgKCFkZXYpDQo+IEBAIC0yOTEsNjMgKzI3MywzOSBAQCBzdGF0aWMgaW50IG10 a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIAlkZXYtPnZl bmNfcGRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoJnBkZXYtPmRldik7DQo+ICAJcmV0 ID0gbXRrX3Zjb2RlY19pbml0X2VuY19wbShkZXYpOw0KPiAgCWlmIChyZXQgPCAwKSB7DQo+IC0J CWRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byBnZXQgbXQgdmNvZGVjIGNsb2NrIHNvdXJj ZSEiKTsNCj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIGdldCBtdGsgdmNvZGVj IGNsb2NrIHNvdXJjZSEiKTsNCj4gIAkJZ290byBlcnJfZW5jX3BtOw0KPiAgCX0NCj4gIA0KPiAt CWZvciAoaSA9IFZFTkNfU1lTLCBqID0gMDsgaSA8IE5VTV9NQVhfVkNPREVDX1JFR19CQVNFOyBp KyssIGorKykgew0KPiAtCQlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNP VVJDRV9NRU0sIGopOw0KPiAtCQlkZXYtPnJlZ19iYXNlW2ldID0gZGV2bV9pb3JlbWFwX3Jlc291 cmNlKCZwZGV2LT5kZXYsIHJlcyk7DQo+IC0JCWlmIChJU19FUlIoKF9fZm9yY2Ugdm9pZCAqKWRl di0+cmVnX2Jhc2VbaV0pKSB7DQo+IC0JCQlyZXQgPSBQVFJfRVJSKChfX2ZvcmNlIHZvaWQgKilk ZXYtPnJlZ19iYXNlW2ldKTsNCj4gLQkJCWdvdG8gZXJyX3JlczsNCj4gLQkJfQ0KPiAtCQltdGtf djRsMl9kZWJ1ZygyLCAicmVnWyVkXSBiYXNlPTB4JXAiLCBpLCBkZXYtPnJlZ19iYXNlW2ldKTsN Cj4gLQl9DQo+ICsJcG1fcnVudGltZV9lbmFibGUoJnBkZXYtPmRldik7DQo+ICsNCj4gKwlzbnBy aW50ZihkZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihkZXYtPnY0bDJfZGV2Lm5hbWUpLCAiJXMi LA0KPiArCQkgZGV2LT52ZW5jX3BkYXRhLT5uYW1lKTsNCj4gIA0KPiAtCXJlcyA9IHBsYXRmb3Jt X2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0lSUSwgMCk7DQo+IC0JaWYgKHJlcyA9PSBO VUxMKSB7DQo+IC0JCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBnZXQgaXJxIHJlc291 cmNlIik7DQo+IC0JCXJldCA9IC1FTk9FTlQ7DQo+ICsJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291 cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsNCj4gKwlyZWdfYmFzZSA9IGRldm1faW9yZW1h cF9yZXNvdXJjZSgmcGRldi0+ZGV2LCByZXMpOw0KPiArCWlmIChJU19FUlIoKF9fZm9yY2Ugdm9p ZCAqKXJlZ19iYXNlKSkgew0KPiArCQlyZXQgPSBQVFJfRVJSKChfX2ZvcmNlIHZvaWQgKilyZWdf YmFzZSk7DQo+ICAJCWdvdG8gZXJyX3JlczsNCj4gIAl9DQo+ICsJZGV2LT5yZWdfYmFzZVtkZXYt PnZlbmNfcGRhdGEtPmNvcmVfaWRdID0gcmVnX2Jhc2U7DQo+ICANCj4gIAlkZXYtPmVuY19pcnEg PSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KPiAgCXJldCA9IGRldm1fcmVxdWVzdF9pcnEo JnBkZXYtPmRldiwgZGV2LT5lbmNfaXJxLA0KPiAgCQkJICAgICAgIG10a192Y29kZWNfZW5jX2ly cV9oYW5kbGVyLA0KPiAgCQkJICAgICAgIDAsIHBkZXYtPm5hbWUsIGRldik7DQo+ICAJaWYgKHJl dCkgew0KPiAtCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8gaW5zdGFsbCBkZXYtPmVu Y19pcnEgJWQgKCVkKSIsDQo+IC0JCQlkZXYtPmVuY19pcnEsDQo+IC0JCQlyZXQpOw0KPiArCQlk ZXZfZXJyKCZwZGV2LT5kZXYsDQo+ICsJCQkiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5lbmNfaXJx ICVkICglZCkgY29yZV9pZDolZCIsDQo+ICsJCQlkZXYtPmVuY19pcnEsIHJldCwgZGV2LT52ZW5j X3BkYXRhLT5jb3JlX2lkKTsNCj4gIAkJcmV0ID0gLUVJTlZBTDsNCj4gIAkJZ290byBlcnJfcmVz Ow0KPiAgCX0NCj4gIAlkaXNhYmxlX2lycShkZXYtPmVuY19pcnEpOw0KPiAgDQo+IC0JaWYgKGRl di0+dmVuY19wZGF0YS0+aGFzX2x0X2lycSkgew0KPiAtCQlkZXYtPmVuY19sdF9pcnEgPSBwbGF0 Zm9ybV9nZXRfaXJxKHBkZXYsIDEpOw0KPiAtCQlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKCZwZGV2 LT5kZXYsDQo+IC0JCQkJICAgICAgIGRldi0+ZW5jX2x0X2lycSwNCj4gLQkJCQkgICAgICAgbXRr X3Zjb2RlY19lbmNfbHRfaXJxX2hhbmRsZXIsDQo+IC0JCQkJICAgICAgIDAsIHBkZXYtPm5hbWUs IGRldik7DQo+IC0JCWlmIChyZXQpIHsNCj4gLQkJCWRldl9lcnIoJnBkZXYtPmRldiwNCj4gLQkJ CQkiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5lbmNfbHRfaXJxICVkICglZCkiLA0KPiAtCQkJCWRl di0+ZW5jX2x0X2lycSwgcmV0KTsNCj4gLQkJCXJldCA9IC1FSU5WQUw7DQo+IC0JCQlnb3RvIGVy cl9yZXM7DQo+IC0JCX0NCj4gLQkJZGlzYWJsZV9pcnEoZGV2LT5lbmNfbHRfaXJxKTsgLyogVkVO Q19MVCAqLw0KPiAtCX0NCj4gLQ0KPiAgCW11dGV4X2luaXQoJmRldi0+ZW5jX211dGV4KTsNCj4g IAltdXRleF9pbml0KCZkZXYtPmRldl9tdXRleCk7DQo+ICAJc3Bpbl9sb2NrX2luaXQoJmRldi0+ aXJxbG9jayk7DQo+IC0NCj4gLQlzbnByaW50ZihkZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihk ZXYtPnY0bDJfZGV2Lm5hbWUpLCAiJXMiLA0KPiAtCQkgIltNVEtfVjRMMl9WRU5DXSIpOw0KPiAt DQo+ICAJcmV0ID0gdjRsMl9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgJmRldi0+djRsMl9k ZXYpOw0KPiAgCWlmIChyZXQpIHsNCj4gIAkJbXRrX3Y0bDJfZXJyKCJ2NGwyX2RldmljZV9yZWdp c3RlciBlcnI9JWQiLCByZXQpOw0KPiBAQCAtMzczLDcgKzMzMSw3IEBAIHN0YXRpYyBpbnQgbXRr X3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgCQkJCQlWNEwy X0NBUF9TVFJFQU1JTkc7DQo+ICANCj4gIAlzbnByaW50Zih2ZmRfZW5jLT5uYW1lLCBzaXplb2Yo dmZkX2VuYy0+bmFtZSksICIlcyIsDQo+IC0JCSBNVEtfVkNPREVDX0VOQ19OQU1FKTsNCj4gKwkJ CWRldi0+dmVuY19wZGF0YS0+bmFtZSk7DQo+ICAJdmlkZW9fc2V0X2RydmRhdGEodmZkX2VuYywg ZGV2KTsNCj4gIAlkZXYtPnZmZF9lbmMgPSB2ZmRfZW5jOw0KPiAgCXBsYXRmb3JtX3NldF9kcnZk YXRhKHBkZXYsIGRldik7DQo+IEBAIC00MDEsOCArMzU5LDggQEAgc3RhdGljIGludCBtdGtfdmNv ZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAJCWdvdG8gZXJyX2Vu Y19yZWc7DQo+ICAJfQ0KPiAgDQo+IC0JbXRrX3Y0bDJfZGVidWcoMCwgImVuY29kZXIgcmVnaXN0 ZXJlZCBhcyAvZGV2L3ZpZGVvJWQiLA0KPiAtCQkJdmZkX2VuYy0+bnVtKTsNCj4gKwltdGtfdjRs Ml9kZWJ1ZygwLCAiZW5jb2RlciAlZCByZWdpc3RlcmVkIGFzIC9kZXYvdmlkZW8lZCIsDQo+ICsJ CSAgICAgICBkZXYtPnZlbmNfcGRhdGEtPmNvcmVfaWQsIHZmZF9lbmMtPm51bSk7DQo+ICANCj4g IAlyZXR1cm4gMDsNCj4gIA0KPiBAQCAtNDE1LDI2ICszNzMsMzkgQEAgc3RhdGljIGludCBtdGtf dmNvZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICBlcnJfZW5jX2Fs bG9jOg0KPiAgCXY0bDJfZGV2aWNlX3VucmVnaXN0ZXIoJmRldi0+djRsMl9kZXYpOw0KPiAgZXJy X3JlczoNCj4gLQltdGtfdmNvZGVjX3JlbGVhc2VfZW5jX3BtKGRldik7DQo+ICsJcG1fcnVudGlt ZV9kaXNhYmxlKCZwZGV2LT5kZXYpOw0KPiAgZXJyX2VuY19wbToNCj4gIAltdGtfdmNvZGVjX2Z3 X3JlbGVhc2UoZGV2LT5md19oYW5kbGVyKTsNCj4gIAlyZXR1cm4gcmV0Ow0KPiAgfQ0KPiAgDQo+ IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhIG10ODE3M19wZGF0YSA9 IHsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTczX2F2 Y19wZGF0YSA9IHsNCj4gKwkuY2hpcCA9IE1US19NVDgxNzMsDQo+ICsJLm5hbWUgPSBNVEtfVkNP REVDX0VOQ19OQU1FLA0KPiArCS5jYXB0dXJlX2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19j YXB0dXJlX210ODE3M19oMjY0LA0KPiArCS5udW1fY2FwdHVyZV9mb3JtYXRzID0gMSwNCj4gKwku b3V0cHV0X2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19vdXRwdXRfbXQ4MTczLA0KPiArCS5u dW1fb3V0cHV0X2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG10a192aWRlb19mb3JtYXRzX291dHB1dF9t dDgxNzMpLA0KPiArCS5taW5fYml0cmF0ZSA9IDEsDQo+ICsJLm1heF9iaXRyYXRlID0gNDAwMDAw MCwNCj4gKwkuY29yZV9pZCA9IFZFTkNfU1lTLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSBtdDgxNzNfdnA4X3BkYXRhID0gew0KPiAgCS5j aGlwID0gTVRLX01UODE3MywNCj4gLQkuaGFzX2x0X2lycSA9IHRydWUsDQo+IC0JLmNhcHR1cmVf Zm9ybWF0cyA9IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczLA0KPiAtCS5udW1fY2Fw dHVyZV9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3 MyksDQo+ICsJLm5hbWUgPSBNVEtfVkVOQ19WUDhfTkFNRSwNCj4gKwkuY2FwdHVyZV9mb3JtYXRz ID0gbXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgxNzNfdnA4LA0KPiArCS5udW1fY2FwdHVy ZV9mb3JtYXRzID0gMSwNCj4gIAkub3V0cHV0X2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19v dXRwdXRfbXQ4MTczLA0KPiAgCS5udW1fb3V0cHV0X2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG10a192 aWRlb19mb3JtYXRzX291dHB1dF9tdDgxNzMpLA0KPiAgCS5taW5fYml0cmF0ZSA9IDEsDQo+ICAJ Lm1heF9iaXRyYXRlID0gNDAwMDAwMCwNCj4gKwkuY29yZV9pZCA9IFZFTkNfTFRfU1lTLA0KPiAg fTsNCj4gIA0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSBtdDgx ODNfcGRhdGEgPSB7DQo+ICAJLmNoaXAgPSBNVEtfTVQ4MTgzLA0KPiAtCS5oYXNfbHRfaXJxID0g ZmFsc2UsDQo+ICsJLm5hbWUgPSBNVEtfVkNPREVDX0VOQ19OQU1FLA0KPiAgCS51c2VzX2V4dCA9 IHRydWUsDQo+ICAJLmNhcHR1cmVfZm9ybWF0cyA9IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVf bXQ4MTgzLA0KPiAgCS5udW1fY2FwdHVyZV9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9f Zm9ybWF0c19jYXB0dXJlX210ODE4MyksDQo+IEBAIC00NDMsMTAgKzQxNCwxNCBAQCBzdGF0aWMg aW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIAku bnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9ybWF0c19vdXRwdXRf bXQ4MTczKSwNCj4gIAkubWluX2JpdHJhdGUgPSA2NCwNCj4gIAkubWF4X2JpdHJhdGUgPSA0MDAw MDAwMCwNCj4gKwkuY29yZV9pZCA9IFZFTkNfU1lTLA0KPiAgfTsNCj4gIA0KPiAgc3RhdGljIGNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX3Zjb2RlY19lbmNfbWF0Y2hbXSA9IHsNCj4gLQl7 LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLXZjb2RlYy1lbmMiLCAuZGF0YSA9ICZtdDgx NzNfcGRhdGF9LA0KPiArCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtdmNvZGVjLWF2 Yy1lbmMiLA0KPiArCQkJLmRhdGEgPSAmbXQ4MTczX2F2Y19wZGF0YX0sDQo+ICsJey5jb21wYXRp YmxlID0gIm1lZGlhdGVrLG10ODE3My12Y29kZWMtdnA4LWVuYyIsDQo+ICsJCQkuZGF0YSA9ICZt dDgxNzNfdnA4X3BkYXRhfSwNCj4gIAl7LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLXZj b2RlYy1lbmMiLCAuZGF0YSA9ICZtdDgxODNfcGRhdGF9LA0KPiAgCXt9LA0KPiAgfTsNCj4gQEAg LTQ2Niw3ICs0NDEsNyBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfZW5jX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgCQl2aWRlb191bnJlZ2lzdGVyX2RldmljZShkZXYt PnZmZF9lbmMpOw0KPiAgDQo+ICAJdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmZGV2LT52NGwyX2Rl dik7DQo+IC0JbXRrX3Zjb2RlY19yZWxlYXNlX2VuY19wbShkZXYpOw0KPiArCXBtX3J1bnRpbWVf ZGlzYWJsZSgmcGRldi0+ZGV2KTsNCj4gIAltdGtfdmNvZGVjX2Z3X3JlbGVhc2UoZGV2LT5md19o YW5kbGVyKTsNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19wbS5jIGIvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmMNCj4gaW5kZXggZWUyMjkw Mi4uMDFjNmE1NSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNv ZGVjL210a192Y29kZWNfZW5jX3BtLmMNCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmMNCj4gQEAgLTQzLDIxICs0Myw2IEBAIGludCBt dGtfdmNvZGVjX2luaXRfZW5jX3BtKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAqbXRrZGV2KQ0KPiAg CQlyZXR1cm4gLUVOT0RFVjsNCj4gIAl9DQo+ICAJcG0tPmxhcmJ2ZW5jID0gJnBkZXYtPmRldjsN Cj4gLQ0KPiAtCW5vZGUgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVr LGxhcmIiLCAxKTsNCj4gLQlpZiAoIW5vZGUpIHsNCj4gLQkJbXRrX3Y0bDJfZXJyKCJubyBtZWRp YXRlayxsYXJiIGZvdW5kIik7DQo+IC0JCXJldHVybiAtRU5PREVWOw0KPiAtCX0NCj4gLQ0KPiAt CXBkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKG5vZGUpOw0KPiAtCW9mX25vZGVfcHV0KG5v ZGUpOw0KPiAtCWlmICghcGRldikgew0KPiAtCQltdGtfdjRsMl9lcnIoIm5vIG1lZGlhdGVrLGxh cmIgZGV2aWNlIGZvdW5kIik7DQo+IC0JCXJldHVybiAtRU5PREVWOw0KPiAtCX0NCj4gLQ0KPiAt CXBtLT5sYXJidmVuY2x0ID0gJnBkZXYtPmRldjsNCj4gIAlwZGV2ID0gbXRrZGV2LT5wbGF0X2Rl djsNCj4gIAlwbS0+ZGV2ID0gJnBkZXYtPmRldjsNCj4gIA0KPiBAQCAtOTQsMTEgKzc5LDYgQEAg aW50IG10a192Y29kZWNfaW5pdF9lbmNfcG0oc3RydWN0IG10a192Y29kZWNfZGV2ICptdGtkZXYp DQo+ICAJcmV0dXJuIHJldDsNCj4gIH0NCj4gIA0KPiAtdm9pZCBtdGtfdmNvZGVjX3JlbGVhc2Vf ZW5jX3BtKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAqbXRrZGV2KQ0KPiAtew0KPiAtfQ0KPiAtDQo+ IC0NCj4gIHZvaWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tfb24oc3RydWN0IG10a192Y29kZWNfcG0g KnBtKQ0KPiAgew0KPiAgCXN0cnVjdCBtdGtfdmNvZGVjX2NsayAqZW5jX2NsayA9ICZwbS0+dmVu Y19jbGs7DQo+IEBAIC0xMTYsMTggKzk2LDEwIEBAIHZvaWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tf b24oc3RydWN0IG10a192Y29kZWNfcG0gKnBtKQ0KPiAgCXJldCA9IG10a19zbWlfbGFyYl9nZXQo cG0tPmxhcmJ2ZW5jKTsNCj4gIAlpZiAocmV0KSB7DQo+ICAJCW10a192NGwyX2VycigibXRrX3Nt aV9sYXJiX2dldCBsYXJiMyBmYWlsICVkIiwgcmV0KTsNCj4gLQkJZ290byBsYXJidmVuY2VycjsN Cj4gLQl9DQo+IC0JcmV0ID0gbXRrX3NtaV9sYXJiX2dldChwbS0+bGFyYnZlbmNsdCk7DQo+IC0J aWYgKHJldCkgew0KPiAtCQltdGtfdjRsMl9lcnIoIm10a19zbWlfbGFyYl9nZXQgbGFyYjQgZmFp bCAlZCIsIHJldCk7DQo+IC0JCWdvdG8gbGFyYnZlbmNsdGVycjsNCj4gKwkJZ290byBjbGtlcnI7 DQo+ICAJfQ0KPiAgCXJldHVybjsNCj4gIA0KPiAtbGFyYnZlbmNsdGVycjoNCj4gLQltdGtfc21p X2xhcmJfcHV0KHBtLT5sYXJidmVuYyk7DQo+IC1sYXJidmVuY2VycjoNCj4gIGNsa2VycjoNCj4g IAlmb3IgKGkgLT0gMTsgaSA+PSAwOyBpLS0pDQo+ICAJCWNsa19kaXNhYmxlX3VucHJlcGFyZShl bmNfY2xrLT5jbGtfaW5mb1tpXS52Y29kZWNfY2xrKTsNCj4gQEAgLTEzOSw3ICsxMTEsNiBAQCB2 b2lkIG10a192Y29kZWNfZW5jX2Nsb2NrX29mZihzdHJ1Y3QgbXRrX3Zjb2RlY19wbSAqcG0pDQo+ ICAJaW50IGkgPSAwOw0KPiAgDQo+ICAJbXRrX3NtaV9sYXJiX3B1dChwbS0+bGFyYnZlbmMpOw0K PiAtCW10a19zbWlfbGFyYl9wdXQocG0tPmxhcmJ2ZW5jbHQpOw0KPiAgCWZvciAoaSA9IGVuY19j bGstPmNsa19udW0gLSAxOyBpID49IDA7IGktLSkNCj4gIAkJY2xrX2Rpc2FibGVfdW5wcmVwYXJl KGVuY19jbGstPmNsa19pbmZvW2ldLnZjb2RlY19jbGspOw0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmggYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uaA0KPiBp bmRleCBiN2VjZGZkLi5jMWI1OTg2IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uaA0KPiArKysgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uaA0KPiBAQCAtMTAsNyArMTAs NiBAQA0KPiAgI2luY2x1ZGUgIm10a192Y29kZWNfZHJ2LmgiDQo+ICANCj4gIGludCBtdGtfdmNv ZGVjX2luaXRfZW5jX3BtKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAqZGV2KTsNCj4gLXZvaWQgbXRr X3Zjb2RlY19yZWxlYXNlX2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKmRldik7DQo+ICAN Cj4gIHZvaWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tfb24oc3RydWN0IG10a192Y29kZWNfcG0gKnBt KTsNCj4gIHZvaWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tfb2ZmKHN0cnVjdCBtdGtfdmNvZGVjX3Bt ICpwbSk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMv dmVuYy92ZW5jX3ZwOF9pZi5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL3Zl bmMvdmVuY192cDhfaWYuYw0KPiBpbmRleCAxMWFiYjE5Li44MjY3YTljIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmVuYy92ZW5jX3ZwOF9pZi5jDQo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZW5jL3ZlbmNfdnA4X2lm LmMNCj4gQEAgLTM2Nyw3ICszNjcsNyBAQCBzdGF0aWMgaW50IHZwOF9lbmNfZW5jb2RlKHZvaWQg KmhhbmRsZSwNCj4gIA0KPiAgCW10a192Y29kZWNfZGVidWdfZW50ZXIoaW5zdCk7DQo+ICANCj4g LQllbmFibGVfaXJxKGN0eC0+ZGV2LT5lbmNfbHRfaXJxKTsNCj4gKwllbmFibGVfaXJxKGN0eC0+ ZGV2LT5lbmNfaXJxKTsNCj4gIA0KPiAgCXN3aXRjaCAob3B0KSB7DQo+ICAJY2FzZSBWRU5DX1NU QVJUX09QVF9FTkNPREVfRlJBTUU6DQo+IEBAIC0zODYsNyArMzg2LDcgQEAgc3RhdGljIGludCB2 cDhfZW5jX2VuY29kZSh2b2lkICpoYW5kbGUsDQo+ICANCj4gIGVuY29kZV9lcnI6DQo+ICANCj4g LQlkaXNhYmxlX2lycShjdHgtPmRldi0+ZW5jX2x0X2lycSk7DQo+ICsJZGlzYWJsZV9pcnEoY3R4 LT5kZXYtPmVuY19pcnEpOw0KPiAgCW10a192Y29kZWNfZGVidWdfbGVhdmUoaW5zdCk7DQo+ICAN Cj4gIAlyZXR1cm4gcmV0Ow0KDQo=